📄 classpvxmlchannel.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>PVXMLChannel class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center><hr><h1>PVXMLChannel Class Reference</h1><code>#include <<a class="el" href="vxml_8h-source.html">vxml.h</a>></code><p><p>Inheritance diagram for PVXMLChannel:<p><center><img src="classPVXMLChannel.png" usemap="#PVXMLChannel_map" border="0" alt=""></center><map name="PVXMLChannel_map"><area href="classPDelayChannel.html" alt="PDelayChannel" shape="rect" coords="0,168,109,192"><area href="classPIndirectChannel.html" alt="PIndirectChannel" shape="rect" coords="0,112,109,136"><area href="classPChannel.html" alt="PChannel" shape="rect" coords="0,56,109,80"><area href="classPObject.html" alt="PObject" shape="rect" coords="0,0,109,24"></map><a href="classPVXMLChannel-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Methods</h2></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a0">PVXMLChannel</a> (unsigned <a class="el" href="classPDelayChannel.html#n1">frameDelay</a>, PINDEX <a class="el" href="classPDelayChannel.html#n2">frameSize</a>)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a1">~PVXMLChannel</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a2">Open</a> (<a class="el" href="classPVXMLChannelInterface.html">PVXMLChannelInterface</a> *_vxml)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a3">IsOpen</a> () const</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a4">Close</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a5">Read</a> (void *buffer, PINDEX amount)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a6">Write</a> (const void *buf, PINDEX len)</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPWAVFile.html">PWAVFile</a> * </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a7">CreateWAVFile</a> (const <a class="el" href="classPFilePath.html">PFilePath</a> &fn, BOOL <a class="el" href="classPVXMLChannel.html#n7">recording</a>=FALSE)</td></tr><tr><td nowrap align=right valign=top>const <a class="el" href="classPString.html">PString</a> & </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a8">GetMediaFormat</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a9">IsMediaPCM</a> () const</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a10">AdjustWavFilename</a> (const <a class="el" href="classPString.html">PString</a> &fn)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a11">WriteFrame</a> (const void *buf, PINDEX len)=0</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a12">IsSilenceFrame</a> (const void *buf, PINDEX len) const=0</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a13">QueueRecordable</a> (<a class="el" href="classPVXMLRecordable.html">PVXMLRecordable</a> *newItem)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a14">StartRecording</a> (const <a class="el" href="classPFilePath.html">PFilePath</a> &fn, unsigned <a class="el" href="classPVXMLChannel.html#n9">finalSilence</a>=3000, unsigned maxDuration=30000)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a15">EndRecording</a> ()</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a16">IsRecording</a> () const</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a17">ReadFrame</a> (void *buffer, PINDEX amount)=0</td></tr><tr><td nowrap align=right valign=top>virtual PINDEX </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a18">CreateSilenceFrame</a> (void *buffer, PINDEX amount)=0</td></tr><tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a19">GetBeepData</a> (<a class="el" href="classPBYTEArray.html">PBYTEArray</a> &, unsigned)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a20">QueueResource</a> (const <a class="el" href="classPURL.html">PURL</a> &url, PINDEX repeat=1, PINDEX delay=0)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a21">QueuePlayable</a> (const <a class="el" href="classPString.html">PString</a> &type, const <a class="el" href="classPString.html">PString</a> &str, PINDEX repeat=1, PINDEX delay=0, BOOL autoDelete=FALSE)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a22">QueuePlayable</a> (<a class="el" href="classPVXMLPlayable.html">PVXMLPlayable</a> *newItem)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a23">QueueData</a> (const <a class="el" href="classPBYTEArray.html">PBYTEArray</a> &data, PINDEX repeat=1, PINDEX delay=0)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a24">QueueFile</a> (const <a class="el" href="classPString.html">PString</a> &fn, PINDEX repeat=1, PINDEX delay=0, BOOL autoDelete=FALSE)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a25">QueueCommand</a> (const <a class="el" href="classPString.html">PString</a> &cmd, PINDEX repeat=1, PINDEX delay=0)</td></tr><tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a26">FlushQueue</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a27">IsPlaying</a> () const</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a28">SetPause</a> (BOOL _pause)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#a29">SetName</a> (const <a class="el" href="classPString.html">PString</a> &name)</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPVXMLChannelInterface.html">PVXMLChannelInterface</a> * </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n0">vxmlInterface</a></td></tr><tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n1">sampleFrequency</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n2">mediaFormat</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n3">wavFilePrefix</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPMutex.html">PMutex</a> </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n4">channelWriteMutex</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPMutex.html">PMutex</a> </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n5">channelReadMutex</a></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n6">closed</a></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n7">recording</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPVXMLRecordable.html">PVXMLRecordable</a> * </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n8">recordable</a></td></tr><tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n9">finalSilence</a></td></tr><tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n10">silenceRun</a></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n11">playing</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPMutex.html">PMutex</a> </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n12">queueMutex</a></td></tr><tr><td nowrap align=right valign=top>PVXMLQueue </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n13">playQueue</a></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n14">paused</a></td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n15">silentCount</a></td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n16">totalData</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPTimer.html">PTimer</a> </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n17">delayTimer</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPVXMLChannel.html#n18">channelName</a></td></tr></table><hr><h2>Constructor & Destructor Documentation</h2><a name="a0" doxytag="PVXMLChannel::PVXMLChannel"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> PVXMLChannel::PVXMLChannel </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">unsigned </td> <td class="mdname" nowrap> <em>frameDelay</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>PINDEX </td> <td class="mdname" nowrap> <em>frameSize</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a1" doxytag="PVXMLChannel::~PVXMLChannel"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> PVXMLChannel::~PVXMLChannel </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><hr><h2>Member Function Documentation</h2><a name="a10" doxytag="PVXMLChannel::AdjustWavFilename"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual <a class="el" href="classPString.html">PString</a> PVXMLChannel::AdjustWavFilename </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classPString.html">PString</a> & </td> <td class="mdname1" valign="top" nowrap> <em>fn</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a4" doxytag="PVXMLChannel::Close"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual BOOL PVXMLChannel::Close </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Close the channel. This will detach itself from the read and write channels and delete both of them if they are auto delete.<p><dl compact><dt><b>Returns: </b></dt><dd> TRUE if the channel is closed. </dl><p>Reimplemented from <a class="el" href="classPIndirectChannel.html#z157_1">PIndirectChannel</a>. </td> </tr></table><a name="a18" doxytag="PVXMLChannel::CreateSilenceFrame"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual PINDEX PVXMLChannel::CreateSilenceFrame </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void * </td> <td class="mdname" nowrap> <em>buffer</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>PINDEX </td> <td class="mdname" nowrap> <em>amount</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [pure virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a7" doxytag="PVXMLChannel::CreateWAVFile"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual <a class="el" href="classPWAVFile.html">PWAVFile</a>* PVXMLChannel::CreateWAVFile </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classPFilePath.html">PFilePath</a> & </td> <td class="mdname" nowrap> <em>fn</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>BOOL </td> <td class="mdname" nowrap> <em>recording</em> = FALSE</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a15" doxytag="PVXMLChannel::EndRecording"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> BOOL PVXMLChannel::EndRecording </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a26" doxytag="PVXMLChannel::FlushQueue"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual void PVXMLChannel::FlushQueue </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a19" doxytag="PVXMLChannel::GetBeepData"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual void PVXMLChannel::GetBeepData </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPBYTEArray.html">PBYTEArray</a> & </td> <td class="mdname" nowrap> , </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned </td> <td class="mdname" nowrap> </td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [inline, virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a8" doxytag="PVXMLChannel::GetMediaFormat"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> const <a class="el" href="classPString.html">PString</a>& PVXMLChannel::GetMediaFormat </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> const<code> [inline]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -