classRakNet_1_1RakVoice.html 51 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <title>RakNet: RakNet::RakVoice Class Reference</title>
  7. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  8. <script type="text/javascript" src="jquery.js"></script>
  9. <script type="text/javascript" src="dynsections.js"></script>
  10. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  11. </head>
  12. <body>
  13. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  14. <div id="titlearea">
  15. <table cellspacing="0" cellpadding="0">
  16. <tbody>
  17. <tr style="height: 56px;">
  18. <td style="padding-left: 0.5em;">
  19. <div id="projectname">RakNet
  20. &#160;<span id="projectnumber">4.0</span>
  21. </div>
  22. </td>
  23. </tr>
  24. </tbody>
  25. </table>
  26. </div>
  27. <!-- end header part -->
  28. <!-- Generated by Doxygen 1.8.2 -->
  29. <div id="navrow1" class="tabs">
  30. <ul class="tablist">
  31. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  32. <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
  33. <li><a href="modules.html"><span>Modules</span></a></li>
  34. <li><a href="namespaces.html"><span>Namespaces</span></a></li>
  35. <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
  36. <li><a href="files.html"><span>Files</span></a></li>
  37. </ul>
  38. </div>
  39. <div id="navrow2" class="tabs2">
  40. <ul class="tablist">
  41. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  42. <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
  43. <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
  44. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  45. </ul>
  46. </div>
  47. <div id="nav-path" class="navpath">
  48. <ul>
  49. <li class="navelem"><a class="el" href="namespaceRakNet.html">RakNet</a></li><li class="navelem"><a class="el" href="classRakNet_1_1RakVoice.html">RakVoice</a></li> </ul>
  50. </div>
  51. </div><!-- top -->
  52. <div class="header">
  53. <div class="summary">
  54. <a href="#pub-methods">Public Member Functions</a> &#124;
  55. <a href="classRakNet_1_1RakVoice-members.html">List of all members</a> </div>
  56. <div class="headertitle">
  57. <div class="title">RakNet::RakVoice Class Reference</div> </div>
  58. </div><!--header-->
  59. <div class="contents">
  60. <p>Voice compression and transmission interface.
  61. <a href="classRakNet_1_1RakVoice.html#details">More...</a></p>
  62. <p><code>#include &lt;RakVoice.h&gt;</code></p>
  63. <div class="dynheader">
  64. Inheritance diagram for RakNet::RakVoice:</div>
  65. <div class="dyncontent">
  66. <div class="center">
  67. <img src="classRakNet_1_1RakVoice.png" usemap="#RakNet::RakVoice_map" alt=""/>
  68. <map id="RakNet::RakVoice_map" name="RakNet::RakVoice_map">
  69. <area href="classRakNet_1_1PluginInterface2.html" alt="RakNet::PluginInterface2" shape="rect" coords="0,0,150,24"/>
  70. </map>
  71. </div></div>
  72. <table class="memberdecls">
  73. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  74. Public Member Functions</h2></td></tr>
  75. <tr class="memitem:a21d0045df8625a4e3ff8e524800a0c94"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a21d0045df8625a4e3ff8e524800a0c94">Init</a> (unsigned short speexSampleRate, unsigned bufferSizeBytes)</td></tr>
  76. <tr class="memdesc:a21d0045df8625a4e3ff8e524800a0c94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts <a class="el" href="classRakNet_1_1RakVoice.html" title="Voice compression and transmission interface.">RakVoice</a>. <a href="#a21d0045df8625a4e3ff8e524800a0c94"></a><br/></td></tr>
  77. <tr class="separator:a21d0045df8625a4e3ff8e524800a0c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
  78. <tr class="memitem:aa20bbf10918e7414410578c47e9a095e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#aa20bbf10918e7414410578c47e9a095e">SetEncoderComplexity</a> (int complexity)</td></tr>
  79. <tr class="memdesc:aa20bbf10918e7414410578c47e9a095e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes encoder complexity Specifying higher values might help when encoding non-speech sounds. <a href="#aa20bbf10918e7414410578c47e9a095e"></a><br/></td></tr>
  80. <tr class="separator:aa20bbf10918e7414410578c47e9a095e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  81. <tr class="memitem:a6138772a8a5bc0450f036364f949cb17"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a6138772a8a5bc0450f036364f949cb17">SetVAD</a> (bool enable)</td></tr>
  82. <tr class="memdesc:a6138772a8a5bc0450f036364f949cb17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables VAD (Voice Activity Detection) Enabling VAD can help reduce the amount of data transmitted, by automatically disabling outgoing data, when no voice is detected. Don't turn this off or the receive buffer fills up and you eventually get very long delays!! <a href="#a6138772a8a5bc0450f036364f949cb17"></a><br/></td></tr>
  83. <tr class="separator:a6138772a8a5bc0450f036364f949cb17"><td class="memSeparator" colspan="2">&#160;</td></tr>
  84. <tr class="memitem:a434707f88442359188f3018375a2c1be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a434707f88442359188f3018375a2c1be">SetNoiseFilter</a> (bool enable)</td></tr>
  85. <tr class="memdesc:a434707f88442359188f3018375a2c1be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the noise filter. <a href="#a434707f88442359188f3018375a2c1be"></a><br/></td></tr>
  86. <tr class="separator:a434707f88442359188f3018375a2c1be"><td class="memSeparator" colspan="2">&#160;</td></tr>
  87. <tr class="memitem:ab3539f8ca8491432c60f65972f61730d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#ab3539f8ca8491432c60f65972f61730d">SetVBR</a> (bool enable)</td></tr>
  88. <tr class="memdesc:ab3539f8ca8491432c60f65972f61730d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables VBR VBR is variable bitrate. Uses less bandwidth but more CPU if on. <a href="#ab3539f8ca8491432c60f65972f61730d"></a><br/></td></tr>
  89. <tr class="separator:ab3539f8ca8491432c60f65972f61730d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  90. <tr class="memitem:a2b10414a56ceeb60171ee05c4bc6738d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a2b10414a56ceeb60171ee05c4bc6738d">GetEncoderComplexity</a> (void)</td></tr>
  91. <tr class="memdesc:a2b10414a56ceeb60171ee05c4bc6738d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the complexity of the encoder. <a href="#a2b10414a56ceeb60171ee05c4bc6738d"></a><br/></td></tr>
  92. <tr class="separator:a2b10414a56ceeb60171ee05c4bc6738d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  93. <tr class="memitem:a58124dd99ee655fefddd46f948c72e46"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a58124dd99ee655fefddd46f948c72e46">IsVADActive</a> (void)</td></tr>
  94. <tr class="memdesc:a58124dd99ee655fefddd46f948c72e46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns current state of VAD. <a href="#a58124dd99ee655fefddd46f948c72e46"></a><br/></td></tr>
  95. <tr class="separator:a58124dd99ee655fefddd46f948c72e46"><td class="memSeparator" colspan="2">&#160;</td></tr>
  96. <tr class="memitem:a862b67614185321e63d622f2575650bd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a862b67614185321e63d622f2575650bd">IsNoiseFilterActive</a> ()</td></tr>
  97. <tr class="memdesc:a862b67614185321e63d622f2575650bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current state of the noise filter. <a href="#a862b67614185321e63d622f2575650bd"></a><br/></td></tr>
  98. <tr class="separator:a862b67614185321e63d622f2575650bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  99. <tr class="memitem:a3c053260487bacf7e1c3b222e018a908"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a3c053260487bacf7e1c3b222e018a908">IsVBRActive</a> ()</td></tr>
  100. <tr class="memdesc:a3c053260487bacf7e1c3b222e018a908"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current state of VBR. <a href="#a3c053260487bacf7e1c3b222e018a908"></a><br/></td></tr>
  101. <tr class="separator:a3c053260487bacf7e1c3b222e018a908"><td class="memSeparator" colspan="2">&#160;</td></tr>
  102. <tr class="memitem:a2ac71892916f67b2d2e81258b0e4b92b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ac71892916f67b2d2e81258b0e4b92b"></a>
  103. void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a2ac71892916f67b2d2e81258b0e4b92b">Deinit</a> (void)</td></tr>
  104. <tr class="memdesc:a2ac71892916f67b2d2e81258b0e4b92b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shuts down <a class="el" href="classRakNet_1_1RakVoice.html" title="Voice compression and transmission interface.">RakVoice</a>. <br/></td></tr>
  105. <tr class="separator:a2ac71892916f67b2d2e81258b0e4b92b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  106. <tr class="memitem:aeb79547cfb2c4a54642a7518bd649316"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#aeb79547cfb2c4a54642a7518bd649316">RequestVoiceChannel</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> recipient)</td></tr>
  107. <tr class="memdesc:aeb79547cfb2c4a54642a7518bd649316"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens a channel to another connected system You will get ID_RAKVOICE_OPEN_CHANNEL_REPLY on success. <a href="#aeb79547cfb2c4a54642a7518bd649316"></a><br/></td></tr>
  108. <tr class="separator:aeb79547cfb2c4a54642a7518bd649316"><td class="memSeparator" colspan="2">&#160;</td></tr>
  109. <tr class="memitem:a65d7fd452a47473c7ce9c8809f39b709"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a65d7fd452a47473c7ce9c8809f39b709">CloseVoiceChannel</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> recipient)</td></tr>
  110. <tr class="memdesc:a65d7fd452a47473c7ce9c8809f39b709"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes an existing voice channel. Other system will get ID_RAKVOICE_CLOSE_CHANNEL. <a href="#a65d7fd452a47473c7ce9c8809f39b709"></a><br/></td></tr>
  111. <tr class="separator:a65d7fd452a47473c7ce9c8809f39b709"><td class="memSeparator" colspan="2">&#160;</td></tr>
  112. <tr class="memitem:aabf2ad0c2d643c231d9c12d4a3bf36b6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabf2ad0c2d643c231d9c12d4a3bf36b6"></a>
  113. void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#aabf2ad0c2d643c231d9c12d4a3bf36b6">CloseAllChannels</a> (void)</td></tr>
  114. <tr class="memdesc:aabf2ad0c2d643c231d9c12d4a3bf36b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes all existing voice channels Other systems will get ID_RAKVOICE_CLOSE_CHANNEL. <br/></td></tr>
  115. <tr class="separator:aabf2ad0c2d643c231d9c12d4a3bf36b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:ad3511e389874fa061a7b76ed9ac3e1e1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#ad3511e389874fa061a7b76ed9ac3e1e1">SendFrame</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> recipient, void *inputBuffer)</td></tr>
  117. <tr class="memdesc:ad3511e389874fa061a7b76ed9ac3e1e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends voice data to a system on an open channel. <a href="#ad3511e389874fa061a7b76ed9ac3e1e1"></a><br/></td></tr>
  118. <tr class="separator:ad3511e389874fa061a7b76ed9ac3e1e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. <tr class="memitem:ae9a3a23b1d27162711953115a4e4a253"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#ae9a3a23b1d27162711953115a4e4a253">IsSendingVoiceDataTo</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> recipient)</td></tr>
  120. <tr class="memdesc:ae9a3a23b1d27162711953115a4e4a253"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if we are currently sending voice data, accounting for voice activity detection. <a href="#ae9a3a23b1d27162711953115a4e4a253"></a><br/></td></tr>
  121. <tr class="separator:ae9a3a23b1d27162711953115a4e4a253"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr class="memitem:afb8123dcd3b12c7cb69a8adf01f127fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#afb8123dcd3b12c7cb69a8adf01f127fe">ReceiveFrame</a> (void *outputBuffer)</td></tr>
  123. <tr class="memdesc:afb8123dcd3b12c7cb69a8adf01f127fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets decoded voice data, from one or more remote senders. <a href="#afb8123dcd3b12c7cb69a8adf01f127fe"></a><br/></td></tr>
  124. <tr class="separator:afb8123dcd3b12c7cb69a8adf01f127fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:a7fdeef20c72b432a35d4659812f31122"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a7fdeef20c72b432a35d4659812f31122">GetSampleRate</a> (void) const </td></tr>
  126. <tr class="separator:a7fdeef20c72b432a35d4659812f31122"><td class="memSeparator" colspan="2">&#160;</td></tr>
  127. <tr class="memitem:ace1abda68eaa6835c214e11d6e1e6291"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#ace1abda68eaa6835c214e11d6e1e6291">GetBufferSizeBytes</a> (void) const </td></tr>
  128. <tr class="separator:ace1abda68eaa6835c214e11d6e1e6291"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <tr class="memitem:ac5e3aff4d0865e6e81501a04b29319c3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#ac5e3aff4d0865e6e81501a04b29319c3">IsInitialized</a> (void) const </td></tr>
  130. <tr class="separator:ac5e3aff4d0865e6e81501a04b29319c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:a245d2241433614ede16d8d1b90f0fcc8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classRakNet_1_1RakPeerInterface.html">RakPeerInterface</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a245d2241433614ede16d8d1b90f0fcc8">GetRakPeerInterface</a> (void) const </td></tr>
  132. <tr class="separator:a245d2241433614ede16d8d1b90f0fcc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  133. <tr class="memitem:a942d3be32b56d716f53bf8a1420d8d1a"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a942d3be32b56d716f53bf8a1420d8d1a">GetBufferedBytesToSend</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> guid) const </td></tr>
  134. <tr class="separator:a942d3be32b56d716f53bf8a1420d8d1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <tr class="memitem:a780459799a112ebd42f4a5eef4e5b906"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a780459799a112ebd42f4a5eef4e5b906">GetBufferedBytesToReturn</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> guid) const </td></tr>
  136. <tr class="separator:a780459799a112ebd42f4a5eef4e5b906"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:af4c5daefa51418958d9bfca55b7cee52"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#af4c5daefa51418958d9bfca55b7cee52">SetLoopbackMode</a> (bool enabled)</td></tr>
  138. <tr class="separator:af4c5daefa51418958d9bfca55b7cee52"><td class="memSeparator" colspan="2">&#160;</td></tr>
  139. <tr class="memitem:aad405faabb588c3a5e797be395f0fcc3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#aad405faabb588c3a5e797be395f0fcc3">IsLoopbackMode</a> (void) const </td></tr>
  140. <tr class="separator:aad405faabb588c3a5e797be395f0fcc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  141. <tr class="memitem:abf301eff986ef8613ccdfdfdec83feb5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf301eff986ef8613ccdfdfdec83feb5"></a>
  142. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#abf301eff986ef8613ccdfdfdec83feb5">Update</a> (void)</td></tr>
  143. <tr class="memdesc:abf301eff986ef8613ccdfdfdec83feb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update is called every time a packet is checked for . <br/></td></tr>
  144. <tr class="separator:abf301eff986ef8613ccdfdfdec83feb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:a7e8be4c14ac3194935d46fdc001eae3d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga89998adaafb29e5d879113b992161085">PluginReceiveResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a7e8be4c14ac3194935d46fdc001eae3d">OnReceive</a> (<a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet)</td></tr>
  146. <tr class="separator:a7e8be4c14ac3194935d46fdc001eae3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  147. <tr class="memitem:a12cacc202a637426e6a8c95586ce4be3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1RakVoice.html#a12cacc202a637426e6a8c95586ce4be3">OnClosedConnection</a> (const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;systemAddress, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> rakNetGUID, <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga376cc546fd6892c2ead48cd51796c8b8">PI2_LostConnectionReason</a> lostConnectionReason)</td></tr>
  148. <tr class="separator:a12cacc202a637426e6a8c95586ce4be3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  149. <tr class="inherit_header pub_methods_classRakNet_1_1PluginInterface2"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classRakNet_1_1PluginInterface2')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classRakNet_1_1PluginInterface2.html">RakNet::PluginInterface2</a></td></tr>
  150. <tr class="memitem:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a550529f3753c4acf22c3b5c3e203552c"></a>
  151. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a550529f3753c4acf22c3b5c3e203552c">OnAttach</a> (void)</td></tr>
  152. <tr class="memdesc:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the interface is attached. <br/></td></tr>
  153. <tr class="separator:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  154. <tr class="memitem:a73d686ffe9a04a74e5a0ce78422c60f2 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73d686ffe9a04a74e5a0ce78422c60f2"></a>
  155. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a73d686ffe9a04a74e5a0ce78422c60f2">OnDetach</a> (void)</td></tr>
  156. <tr class="memdesc:a73d686ffe9a04a74e5a0ce78422c60f2 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the interface is detached. <br/></td></tr>
  157. <tr class="separator:a73d686ffe9a04a74e5a0ce78422c60f2 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  158. <tr class="memitem:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14825e69f0560996327e4dd351842c06"></a>
  159. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a14825e69f0560996327e4dd351842c06">OnRakPeerStartup</a> (void)</td></tr>
  160. <tr class="memdesc:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when <a class="el" href="classRakNet_1_1RakPeer.html" title="Main interface for network communications.">RakPeer</a> is initialized. <br/></td></tr>
  161. <tr class="separator:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  162. <tr class="memitem:a37c873a1879871722e06acfc45923883 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37c873a1879871722e06acfc45923883"></a>
  163. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a37c873a1879871722e06acfc45923883">OnRakPeerShutdown</a> (void)</td></tr>
  164. <tr class="memdesc:a37c873a1879871722e06acfc45923883 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when <a class="el" href="classRakNet_1_1RakPeer.html" title="Main interface for network communications.">RakPeer</a> is shutdown. <br/></td></tr>
  165. <tr class="separator:a37c873a1879871722e06acfc45923883 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. <tr class="memitem:abf13327cc10f772ba06dff8f2687f8ae inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#abf13327cc10f772ba06dff8f2687f8ae">OnNewConnection</a> (const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;systemAddress, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> rakNetGUID, bool isIncoming)</td></tr>
  167. <tr class="separator:abf13327cc10f772ba06dff8f2687f8ae inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  168. <tr class="memitem:a9504489498df14b6efa5ca9bd39aede4 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a9504489498df14b6efa5ca9bd39aede4">OnFailedConnectionAttempt</a> (<a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet, <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga3e92f686bace869b78c10508c58e0825">PI2_FailedConnectionAttemptReason</a> failedConnectionAttemptReason)</td></tr>
  169. <tr class="separator:a9504489498df14b6efa5ca9bd39aede4 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  170. <tr class="memitem:accfca7d25262c48a87a30114383284aa inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#accfca7d25262c48a87a30114383284aa">UsesReliabilityLayer</a> (void) const </td></tr>
  171. <tr class="separator:accfca7d25262c48a87a30114383284aa inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  172. <tr class="memitem:a7a6f69c6fc3a121e3676298a63a9ef78 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a7a6f69c6fc3a121e3676298a63a9ef78">OnDirectSocketSend</a> (const char *data, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress)</td></tr>
  173. <tr class="separator:a7a6f69c6fc3a121e3676298a63a9ef78 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  174. <tr class="memitem:a9aac1101ad58e8443516588e96e066ec inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a9aac1101ad58e8443516588e96e066ec">OnDirectSocketReceive</a> (const char *data, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress)</td></tr>
  175. <tr class="separator:a9aac1101ad58e8443516588e96e066ec inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  176. <tr class="memitem:abf51e60546bd74d21c91dc0d6f9f3a4b inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#abf51e60546bd74d21c91dc0d6f9f3a4b">OnReliabilityLayerNotification</a> (const char *errorMessage, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress, bool isError)</td></tr>
  177. <tr class="separator:abf51e60546bd74d21c91dc0d6f9f3a4b inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  178. <tr class="memitem:a399b8c93daa0236599961e754742e2f7 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a399b8c93daa0236599961e754742e2f7">OnInternalPacket</a> (<a class="el" href="structRakNet_1_1InternalPacket.html">InternalPacket</a> *internalPacket, unsigned frameNumber, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress, RakNet::TimeMS time, int isSend)</td></tr>
  179. <tr class="separator:a399b8c93daa0236599961e754742e2f7 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  180. <tr class="memitem:ae0b0cad31cfc209c48197c77d6b46345 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#ae0b0cad31cfc209c48197c77d6b46345">OnAck</a> (unsigned int messageNumber, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress, RakNet::TimeMS time)</td></tr>
  181. <tr class="separator:ae0b0cad31cfc209c48197c77d6b46345 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  182. <tr class="memitem:a5c976aea56ed85055a17c19d91b90727 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a5c976aea56ed85055a17c19d91b90727">OnPushBackPacket</a> (const char *data, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress)</td></tr>
  183. <tr class="separator:a5c976aea56ed85055a17c19d91b90727 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  184. </table>
  185. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  186. <div class="textblock"><p>Voice compression and transmission interface. </p>
  187. </div><h2 class="groupheader">Member Function Documentation</h2>
  188. <a class="anchor" id="a65d7fd452a47473c7ce9c8809f39b709"></a>
  189. <div class="memitem">
  190. <div class="memproto">
  191. <table class="memname">
  192. <tr>
  193. <td class="memname">void RakNet::RakVoice::CloseVoiceChannel </td>
  194. <td>(</td>
  195. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  196. <td class="paramname"><em>recipient</em></td><td>)</td>
  197. <td></td>
  198. </tr>
  199. </table>
  200. </div><div class="memdoc">
  201. <p>Closes an existing voice channel. Other system will get ID_RAKVOICE_CLOSE_CHANNEL. </p>
  202. <dl class="params"><dt>Parameters</dt><dd>
  203. <table class="params">
  204. <tr><td class="paramdir">[in]</td><td class="paramname">recipient</td><td>Which system to close a channel with </td></tr>
  205. </table>
  206. </dd>
  207. </dl>
  208. </div>
  209. </div>
  210. <a class="anchor" id="a780459799a112ebd42f4a5eef4e5b906"></a>
  211. <div class="memitem">
  212. <div class="memproto">
  213. <table class="memname">
  214. <tr>
  215. <td class="memname">unsigned RakNet::RakVoice::GetBufferedBytesToReturn </td>
  216. <td>(</td>
  217. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  218. <td class="paramname"><em>guid</em></td><td>)</td>
  219. <td> const</td>
  220. </tr>
  221. </table>
  222. </div><div class="memdoc">
  223. <p>How many bytes are on the read buffer, waiting to be passed to a call to ReceiveFrame This should remain at a fairly small near-constant size as incoming data is read out at the same rate as outgoing data from the remote system </p>
  224. <dl class="params"><dt>Parameters</dt><dd>
  225. <table class="params">
  226. <tr><td class="paramdir">[in]</td><td class="paramname">guid</td><td>The system to query, or <a class="el" href="namespaceRakNet.html#a80c95b4ed53f42911a6fa92b85e929cf" title="Index of an invalid SystemAddress.">RakNet::UNASSIGNED_SYSTEM_ADDRESS</a> for the sum of all channels. </td></tr>
  227. </table>
  228. </dd>
  229. </dl>
  230. <dl class="section return"><dt>Returns</dt><dd>Number of bytes on the read buffer. </dd></dl>
  231. </div>
  232. </div>
  233. <a class="anchor" id="a942d3be32b56d716f53bf8a1420d8d1a"></a>
  234. <div class="memitem">
  235. <div class="memproto">
  236. <table class="memname">
  237. <tr>
  238. <td class="memname">unsigned RakNet::RakVoice::GetBufferedBytesToSend </td>
  239. <td>(</td>
  240. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  241. <td class="paramname"><em>guid</em></td><td>)</td>
  242. <td> const</td>
  243. </tr>
  244. </table>
  245. </div><div class="memdoc">
  246. <p>How many bytes are on the write buffer, waiting to be passed to a call to <a class="el" href="classRakNet_1_1RakPeer.html#a1ee7422f744ab606c92b4ed4b28db40e" title="Sends a block of data to the specified system that you are connected to.">RakPeer::Send</a> (internally) This should remain at a fairly small near-constant size as outgoing data is sent to the Send function </p>
  247. <dl class="params"><dt>Parameters</dt><dd>
  248. <table class="params">
  249. <tr><td class="paramdir">[in]</td><td class="paramname">guid</td><td>The system to query, or <a class="el" href="namespaceRakNet.html#a80c95b4ed53f42911a6fa92b85e929cf" title="Index of an invalid SystemAddress.">RakNet::UNASSIGNED_SYSTEM_ADDRESS</a> for the sum of all channels. </td></tr>
  250. </table>
  251. </dd>
  252. </dl>
  253. <dl class="section return"><dt>Returns</dt><dd>Number of bytes on the write buffer </dd></dl>
  254. </div>
  255. </div>
  256. <a class="anchor" id="ace1abda68eaa6835c214e11d6e1e6291"></a>
  257. <div class="memitem">
  258. <div class="memproto">
  259. <table class="memname">
  260. <tr>
  261. <td class="memname">int RakNet::RakVoice::GetBufferSizeBytes </td>
  262. <td>(</td>
  263. <td class="paramtype">void&#160;</td>
  264. <td class="paramname"></td><td>)</td>
  265. <td> const</td>
  266. </tr>
  267. </table>
  268. </div><div class="memdoc">
  269. <p>Returns the buffer size in bytes, as passed to Init </p>
  270. <dl class="section return"><dt>Returns</dt><dd>buffer size in bytes </dd></dl>
  271. </div>
  272. </div>
  273. <a class="anchor" id="a2b10414a56ceeb60171ee05c4bc6738d"></a>
  274. <div class="memitem">
  275. <div class="memproto">
  276. <table class="memname">
  277. <tr>
  278. <td class="memname">int RakNet::RakVoice::GetEncoderComplexity </td>
  279. <td>(</td>
  280. <td class="paramtype">void&#160;</td>
  281. <td class="paramname"></td><td>)</td>
  282. <td></td>
  283. </tr>
  284. </table>
  285. </div><div class="memdoc">
  286. <p>Returns the complexity of the encoder. </p>
  287. <dl class="section pre"><dt>Precondition</dt><dd>Only applies to encoder. </dd></dl>
  288. <dl class="section return"><dt>Returns</dt><dd>a value from 0 to 10. </dd></dl>
  289. </div>
  290. </div>
  291. <a class="anchor" id="a245d2241433614ede16d8d1b90f0fcc8"></a>
  292. <div class="memitem">
  293. <div class="memproto">
  294. <table class="memname">
  295. <tr>
  296. <td class="memname"><a class="el" href="classRakNet_1_1RakPeerInterface.html">RakPeerInterface</a>* RakNet::RakVoice::GetRakPeerInterface </td>
  297. <td>(</td>
  298. <td class="paramtype">void&#160;</td>
  299. <td class="paramname"></td><td>)</td>
  300. <td> const</td>
  301. </tr>
  302. </table>
  303. </div><div class="memdoc">
  304. <p>Returns the <a class="el" href="classRakNet_1_1RakPeerInterface.html" title="The main interface for network communications.">RakPeerInterface</a> that the object is attached to. </p>
  305. <dl class="section return"><dt>Returns</dt><dd>the respective <a class="el" href="classRakNet_1_1RakPeerInterface.html" title="The main interface for network communications.">RakPeerInterface</a>, or NULL not attached. </dd></dl>
  306. </div>
  307. </div>
  308. <a class="anchor" id="a7fdeef20c72b432a35d4659812f31122"></a>
  309. <div class="memitem">
  310. <div class="memproto">
  311. <table class="memname">
  312. <tr>
  313. <td class="memname">int RakNet::RakVoice::GetSampleRate </td>
  314. <td>(</td>
  315. <td class="paramtype">void&#160;</td>
  316. <td class="paramname"></td><td>)</td>
  317. <td> const</td>
  318. </tr>
  319. </table>
  320. </div><div class="memdoc">
  321. <p>Returns the value sample rate, as passed to Init </p>
  322. <dl class="section return"><dt>Returns</dt><dd>the sample rate </dd></dl>
  323. </div>
  324. </div>
  325. <a class="anchor" id="a21d0045df8625a4e3ff8e524800a0c94"></a>
  326. <div class="memitem">
  327. <div class="memproto">
  328. <table class="memname">
  329. <tr>
  330. <td class="memname">void RakNet::RakVoice::Init </td>
  331. <td>(</td>
  332. <td class="paramtype">unsigned short&#160;</td>
  333. <td class="paramname"><em>speexSampleRate</em>, </td>
  334. </tr>
  335. <tr>
  336. <td class="paramkey"></td>
  337. <td></td>
  338. <td class="paramtype">unsigned&#160;</td>
  339. <td class="paramname"><em>bufferSizeBytes</em>&#160;</td>
  340. </tr>
  341. <tr>
  342. <td></td>
  343. <td>)</td>
  344. <td></td><td></td>
  345. </tr>
  346. </table>
  347. </div><div class="memdoc">
  348. <p>Starts <a class="el" href="classRakNet_1_1RakVoice.html" title="Voice compression and transmission interface.">RakVoice</a>. </p>
  349. <dl class="params"><dt>Parameters</dt><dd>
  350. <table class="params">
  351. <tr><td class="paramdir">[in]</td><td class="paramname">speexSampleRate</td><td>8000, 16000, or 32000 </td></tr>
  352. <tr><td class="paramdir">[in]</td><td class="paramname">bufferSizeBytes</td><td>How many bytes long inputBuffer and outputBuffer are in SendFrame and ReceiveFrame are. Should be your sample size * the number of samples to encode at once. </td></tr>
  353. </table>
  354. </dd>
  355. </dl>
  356. </div>
  357. </div>
  358. <a class="anchor" id="ac5e3aff4d0865e6e81501a04b29319c3"></a>
  359. <div class="memitem">
  360. <div class="memproto">
  361. <table class="memname">
  362. <tr>
  363. <td class="memname">bool RakNet::RakVoice::IsInitialized </td>
  364. <td>(</td>
  365. <td class="paramtype">void&#160;</td>
  366. <td class="paramname"></td><td>)</td>
  367. <td> const</td>
  368. </tr>
  369. </table>
  370. </div><div class="memdoc">
  371. <p>Returns true or false, indicating if the object has been initialized </p>
  372. <dl class="section return"><dt>Returns</dt><dd>true if initialized, false otherwise. </dd></dl>
  373. </div>
  374. </div>
  375. <a class="anchor" id="aad405faabb588c3a5e797be395f0fcc3"></a>
  376. <div class="memitem">
  377. <div class="memproto">
  378. <table class="memname">
  379. <tr>
  380. <td class="memname">bool RakNet::RakVoice::IsLoopbackMode </td>
  381. <td>(</td>
  382. <td class="paramtype">void&#160;</td>
  383. <td class="paramname"></td><td>)</td>
  384. <td> const</td>
  385. </tr>
  386. </table>
  387. </div><div class="memdoc">
  388. <p>Returns true or false, indicating if the loopback mode is enabled </p>
  389. <dl class="section return"><dt>Returns</dt><dd>true if enabled, false otherwise. </dd></dl>
  390. </div>
  391. </div>
  392. <a class="anchor" id="a862b67614185321e63d622f2575650bd"></a>
  393. <div class="memitem">
  394. <div class="memproto">
  395. <table class="memname">
  396. <tr>
  397. <td class="memname">bool RakNet::RakVoice::IsNoiseFilterActive </td>
  398. <td>(</td>
  399. <td class="paramname"></td><td>)</td>
  400. <td></td>
  401. </tr>
  402. </table>
  403. </div><div class="memdoc">
  404. <p>Returns the current state of the noise filter. </p>
  405. <dl class="section pre"><dt>Precondition</dt><dd>Only applies to encoder. </dd></dl>
  406. <dl class="section return"><dt>Returns</dt><dd>true if the noise filter is active, false otherwise. </dd></dl>
  407. </div>
  408. </div>
  409. <a class="anchor" id="ae9a3a23b1d27162711953115a4e4a253"></a>
  410. <div class="memitem">
  411. <div class="memproto">
  412. <table class="memname">
  413. <tr>
  414. <td class="memname">bool RakNet::RakVoice::IsSendingVoiceDataTo </td>
  415. <td>(</td>
  416. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  417. <td class="paramname"><em>recipient</em></td><td>)</td>
  418. <td></td>
  419. </tr>
  420. </table>
  421. </div><div class="memdoc">
  422. <p>Returns if we are currently sending voice data, accounting for voice activity detection. </p>
  423. <dl class="params"><dt>Parameters</dt><dd>
  424. <table class="params">
  425. <tr><td class="paramdir">[in]</td><td class="paramname">Which</td><td>system to check </td></tr>
  426. </table>
  427. </dd>
  428. </dl>
  429. <dl class="section return"><dt>Returns</dt><dd>If we are sending voice data for the specified system </dd></dl>
  430. </div>
  431. </div>
  432. <a class="anchor" id="a58124dd99ee655fefddd46f948c72e46"></a>
  433. <div class="memitem">
  434. <div class="memproto">
  435. <table class="memname">
  436. <tr>
  437. <td class="memname">bool RakNet::RakVoice::IsVADActive </td>
  438. <td>(</td>
  439. <td class="paramtype">void&#160;</td>
  440. <td class="paramname"></td><td>)</td>
  441. <td></td>
  442. </tr>
  443. </table>
  444. </div><div class="memdoc">
  445. <p>Returns current state of VAD. </p>
  446. <dl class="section pre"><dt>Precondition</dt><dd>Only applies to encoder. </dd></dl>
  447. <dl class="section return"><dt>Returns</dt><dd>true if VAD is enable, false otherwise </dd></dl>
  448. </div>
  449. </div>
  450. <a class="anchor" id="a3c053260487bacf7e1c3b222e018a908"></a>
  451. <div class="memitem">
  452. <div class="memproto">
  453. <table class="memname">
  454. <tr>
  455. <td class="memname">bool RakNet::RakVoice::IsVBRActive </td>
  456. <td>(</td>
  457. <td class="paramname"></td><td>)</td>
  458. <td></td>
  459. </tr>
  460. </table>
  461. </div><div class="memdoc">
  462. <p>Returns the current state of VBR. </p>
  463. <dl class="section pre"><dt>Precondition</dt><dd>Only applies to encoder. </dd></dl>
  464. <dl class="section return"><dt>Returns</dt><dd>true if VBR is active, false otherwise. </dd></dl>
  465. </div>
  466. </div>
  467. <a class="anchor" id="a12cacc202a637426e6a8c95586ce4be3"></a>
  468. <div class="memitem">
  469. <div class="memproto">
  470. <table class="mlabels">
  471. <tr>
  472. <td class="mlabels-left">
  473. <table class="memname">
  474. <tr>
  475. <td class="memname">virtual void RakNet::RakVoice::OnClosedConnection </td>
  476. <td>(</td>
  477. <td class="paramtype">const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  478. <td class="paramname"><em>systemAddress</em>, </td>
  479. </tr>
  480. <tr>
  481. <td class="paramkey"></td>
  482. <td></td>
  483. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  484. <td class="paramname"><em>rakNetGUID</em>, </td>
  485. </tr>
  486. <tr>
  487. <td class="paramkey"></td>
  488. <td></td>
  489. <td class="paramtype"><a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga376cc546fd6892c2ead48cd51796c8b8">PI2_LostConnectionReason</a>&#160;</td>
  490. <td class="paramname"><em>lostConnectionReason</em>&#160;</td>
  491. </tr>
  492. <tr>
  493. <td></td>
  494. <td>)</td>
  495. <td></td><td></td>
  496. </tr>
  497. </table>
  498. </td>
  499. <td class="mlabels-right">
  500. <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
  501. </tr>
  502. </table>
  503. </div><div class="memdoc">
  504. <p>Called when a connection is dropped because the user called <a class="el" href="classRakNet_1_1RakPeer.html#a95e3806fce8552e322236abcf105cbf9" title="Close the connection to another host (if we initiated the connection it will disconnect, if they did it will kick them out).">RakPeer::CloseConnection()</a> for a particular system </p>
  505. <dl class="params"><dt>Parameters</dt><dd>
  506. <table class="params">
  507. <tr><td class="paramdir">[in]</td><td class="paramname">systemAddress</td><td>The system whose connection was closed </td></tr>
  508. <tr><td class="paramdir">[in]</td><td class="paramname">rakNetGuid</td><td>The guid of the specified system </td></tr>
  509. <tr><td class="paramdir">[in]</td><td class="paramname">lostConnectionReason</td><td>How the connection was closed: manually, connection lost, or notification of disconnection </td></tr>
  510. </table>
  511. </dd>
  512. </dl>
  513. <p>Reimplemented from <a class="el" href="classRakNet_1_1PluginInterface2.html#a80c7612ca1a5dcfeec0b52d8049a71ea">RakNet::PluginInterface2</a>.</p>
  514. </div>
  515. </div>
  516. <a class="anchor" id="a7e8be4c14ac3194935d46fdc001eae3d"></a>
  517. <div class="memitem">
  518. <div class="memproto">
  519. <table class="mlabels">
  520. <tr>
  521. <td class="mlabels-left">
  522. <table class="memname">
  523. <tr>
  524. <td class="memname">virtual <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga89998adaafb29e5d879113b992161085">PluginReceiveResult</a> RakNet::RakVoice::OnReceive </td>
  525. <td>(</td>
  526. <td class="paramtype"><a class="el" href="structRakNet_1_1Packet.html">Packet</a> *&#160;</td>
  527. <td class="paramname"><em>packet</em></td><td>)</td>
  528. <td></td>
  529. </tr>
  530. </table>
  531. </td>
  532. <td class="mlabels-right">
  533. <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
  534. </tr>
  535. </table>
  536. </div><div class="memdoc">
  537. <p>OnReceive is called for every packet. </p>
  538. <dl class="params"><dt>Parameters</dt><dd>
  539. <table class="params">
  540. <tr><td class="paramdir">[in]</td><td class="paramname">packet</td><td>the packet that is being returned to the user </td></tr>
  541. </table>
  542. </dd>
  543. </dl>
  544. <dl class="section return"><dt>Returns</dt><dd>True to allow the game and other plugins to get this message, false to absorb it </dd></dl>
  545. <p>Reimplemented from <a class="el" href="classRakNet_1_1PluginInterface2.html#aa86f33263c1648f11b8a006469272639">RakNet::PluginInterface2</a>.</p>
  546. </div>
  547. </div>
  548. <a class="anchor" id="afb8123dcd3b12c7cb69a8adf01f127fe"></a>
  549. <div class="memitem">
  550. <div class="memproto">
  551. <table class="memname">
  552. <tr>
  553. <td class="memname">void RakNet::RakVoice::ReceiveFrame </td>
  554. <td>(</td>
  555. <td class="paramtype">void *&#160;</td>
  556. <td class="paramname"><em>outputBuffer</em></td><td>)</td>
  557. <td></td>
  558. </tr>
  559. </table>
  560. </div><div class="memdoc">
  561. <p>Gets decoded voice data, from one or more remote senders. </p>
  562. <dl class="params"><dt>Parameters</dt><dd>
  563. <table class="params">
  564. <tr><td class="paramdir">[out]</td><td class="paramname">outputBuffer</td><td>The voice data. The size of outputBuffer should be what was specified as bufferSizeBytes in Init </td></tr>
  565. </table>
  566. </dd>
  567. </dl>
  568. </div>
  569. </div>
  570. <a class="anchor" id="aeb79547cfb2c4a54642a7518bd649316"></a>
  571. <div class="memitem">
  572. <div class="memproto">
  573. <table class="memname">
  574. <tr>
  575. <td class="memname">void RakNet::RakVoice::RequestVoiceChannel </td>
  576. <td>(</td>
  577. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  578. <td class="paramname"><em>recipient</em></td><td>)</td>
  579. <td></td>
  580. </tr>
  581. </table>
  582. </div><div class="memdoc">
  583. <p>Opens a channel to another connected system You will get ID_RAKVOICE_OPEN_CHANNEL_REPLY on success. </p>
  584. <dl class="params"><dt>Parameters</dt><dd>
  585. <table class="params">
  586. <tr><td class="paramdir">[in]</td><td class="paramname">recipient</td><td>Which system to open a channel to </td></tr>
  587. </table>
  588. </dd>
  589. </dl>
  590. </div>
  591. </div>
  592. <a class="anchor" id="ad3511e389874fa061a7b76ed9ac3e1e1"></a>
  593. <div class="memitem">
  594. <div class="memproto">
  595. <table class="memname">
  596. <tr>
  597. <td class="memname">bool RakNet::RakVoice::SendFrame </td>
  598. <td>(</td>
  599. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  600. <td class="paramname"><em>recipient</em>, </td>
  601. </tr>
  602. <tr>
  603. <td class="paramkey"></td>
  604. <td></td>
  605. <td class="paramtype">void *&#160;</td>
  606. <td class="paramname"><em>inputBuffer</em>&#160;</td>
  607. </tr>
  608. <tr>
  609. <td></td>
  610. <td>)</td>
  611. <td></td><td></td>
  612. </tr>
  613. </table>
  614. </div><div class="memdoc">
  615. <p>Sends voice data to a system on an open channel. </p>
  616. <dl class="section pre"><dt>Precondition</dt><dd><em>recipient</em> must refer to a system with an open channel via RequestVoiceChannel </dd></dl>
  617. <dl class="params"><dt>Parameters</dt><dd>
  618. <table class="params">
  619. <tr><td class="paramdir">[in]</td><td class="paramname">recipient</td><td>The system to send voice data to </td></tr>
  620. <tr><td class="paramdir">[in]</td><td class="paramname">inputBuffer</td><td>The voice data. The size of inputBuffer should be what was specified as bufferSizeBytes in Init </td></tr>
  621. </table>
  622. </dd>
  623. </dl>
  624. </div>
  625. </div>
  626. <a class="anchor" id="aa20bbf10918e7414410578c47e9a095e"></a>
  627. <div class="memitem">
  628. <div class="memproto">
  629. <table class="memname">
  630. <tr>
  631. <td class="memname">void RakNet::RakVoice::SetEncoderComplexity </td>
  632. <td>(</td>
  633. <td class="paramtype">int&#160;</td>
  634. <td class="paramname"><em>complexity</em></td><td>)</td>
  635. <td></td>
  636. </tr>
  637. </table>
  638. </div><div class="memdoc">
  639. <p>Changes encoder complexity Specifying higher values might help when encoding non-speech sounds. </p>
  640. <dl class="params"><dt>Parameters</dt><dd>
  641. <table class="params">
  642. <tr><td class="paramdir">[in]</td><td class="paramname">complexity</td><td>0 to 10. The higher the value, the more CPU it needs. Recommended values are from 2 to 4. </td></tr>
  643. </table>
  644. </dd>
  645. </dl>
  646. </div>
  647. </div>
  648. <a class="anchor" id="af4c5daefa51418958d9bfca55b7cee52"></a>
  649. <div class="memitem">
  650. <div class="memproto">
  651. <table class="memname">
  652. <tr>
  653. <td class="memname">void RakNet::RakVoice::SetLoopbackMode </td>
  654. <td>(</td>
  655. <td class="paramtype">bool&#160;</td>
  656. <td class="paramname"><em>enabled</em></td><td>)</td>
  657. <td></td>
  658. </tr>
  659. </table>
  660. </div><div class="memdoc">
  661. <p>Enables/disables loopback mode </p>
  662. <dl class="params"><dt>Parameters</dt><dd>
  663. <table class="params">
  664. <tr><td class="paramdir">[in]</td><td class="paramname">true</td><td>to enable, false to disable </td></tr>
  665. </table>
  666. </dd>
  667. </dl>
  668. </div>
  669. </div>
  670. <a class="anchor" id="a434707f88442359188f3018375a2c1be"></a>
  671. <div class="memitem">
  672. <div class="memproto">
  673. <table class="memname">
  674. <tr>
  675. <td class="memname">void RakNet::RakVoice::SetNoiseFilter </td>
  676. <td>(</td>
  677. <td class="paramtype">bool&#160;</td>
  678. <td class="paramname"><em>enable</em></td><td>)</td>
  679. <td></td>
  680. </tr>
  681. </table>
  682. </div><div class="memdoc">
  683. <p>Enables or disables the noise filter. </p>
  684. <dl class="section pre"><dt>Precondition</dt><dd>Only applies to encoder. </dd></dl>
  685. <dl class="params"><dt>Parameters</dt><dd>
  686. <table class="params">
  687. <tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>true to enable, false to disable. </td></tr>
  688. </table>
  689. </dd>
  690. </dl>
  691. </div>
  692. </div>
  693. <a class="anchor" id="a6138772a8a5bc0450f036364f949cb17"></a>
  694. <div class="memitem">
  695. <div class="memproto">
  696. <table class="memname">
  697. <tr>
  698. <td class="memname">void RakNet::RakVoice::SetVAD </td>
  699. <td>(</td>
  700. <td class="paramtype">bool&#160;</td>
  701. <td class="paramname"><em>enable</em></td><td>)</td>
  702. <td></td>
  703. </tr>
  704. </table>
  705. </div><div class="memdoc">
  706. <p>Enables or disables VAD (Voice Activity Detection) Enabling VAD can help reduce the amount of data transmitted, by automatically disabling outgoing data, when no voice is detected. Don't turn this off or the receive buffer fills up and you eventually get very long delays!! </p>
  707. <dl class="section pre"><dt>Precondition</dt><dd>Only applies to encoder. </dd></dl>
  708. <dl class="params"><dt>Parameters</dt><dd>
  709. <table class="params">
  710. <tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>true to enable, false to disable. True by default </td></tr>
  711. </table>
  712. </dd>
  713. </dl>
  714. </div>
  715. </div>
  716. <a class="anchor" id="ab3539f8ca8491432c60f65972f61730d"></a>
  717. <div class="memitem">
  718. <div class="memproto">
  719. <table class="memname">
  720. <tr>
  721. <td class="memname">void RakNet::RakVoice::SetVBR </td>
  722. <td>(</td>
  723. <td class="paramtype">bool&#160;</td>
  724. <td class="paramname"><em>enable</em></td><td>)</td>
  725. <td></td>
  726. </tr>
  727. </table>
  728. </div><div class="memdoc">
  729. <p>Enables or disables VBR VBR is variable bitrate. Uses less bandwidth but more CPU if on. </p>
  730. <dl class="section pre"><dt>Precondition</dt><dd>Only applies to encoder. </dd></dl>
  731. <dl class="params"><dt>Parameters</dt><dd>
  732. <table class="params">
  733. <tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>true to enable VBR, false to disable </td></tr>
  734. </table>
  735. </dd>
  736. </dl>
  737. </div>
  738. </div>
  739. <hr/>The documentation for this class was generated from the following file:<ul>
  740. <li>D:/temp/RakNet_PC/DependentExtensions/<a class="el" href="RakVoice_8h.html">RakVoice.h</a></li>
  741. </ul>
  742. </div><!-- contents -->
  743. <!-- start footer part -->
  744. <hr class="footer"/><address class="footer"><small>
  745. Generated on Mon Jun 2 2014 20:10:29 for RakNet by &#160;<a href="http://www.doxygen.org/index.html">
  746. <img class="footer" src="doxygen.png" alt="doxygen"/>
  747. </a> 1.8.2
  748. </small></address>
  749. </body>
  750. </html>
粤ICP备19079148号