<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.3.1"/> <title>PortAudio: com.portaudio.BlockingStream Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">PortAudio  <span id="projectnumber">2.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.3.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><b>com</b></li><li class="navelem"><b>portaudio</b></li><li class="navelem"><a class="el" href="classcom_1_1portaudio_1_1BlockingStream.html">BlockingStream</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> </div> <div class="headertitle"> <div class="title">com.portaudio.BlockingStream Class Reference</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a4cb237d1596fcfb10adf7e21166bfd10"><td class="memItemLeft" align="right" valign="top">native int </td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1portaudio_1_1BlockingStream.html#a4cb237d1596fcfb10adf7e21166bfd10">getReadAvailable</a> ()</td></tr> <tr class="separator:a4cb237d1596fcfb10adf7e21166bfd10"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a24fcac3b87ee7f15cbf97c9f821009dd"><td class="memItemLeft" align="right" valign="top">native int </td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1portaudio_1_1BlockingStream.html#a24fcac3b87ee7f15cbf97c9f821009dd">getWriteAvailable</a> ()</td></tr> <tr class="separator:a24fcac3b87ee7f15cbf97c9f821009dd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab6004b6eb81636c73053841b32c371fa"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1portaudio_1_1BlockingStream.html#ab6004b6eb81636c73053841b32c371fa">read</a> (float[] buffer, int numFrames)</td></tr> <tr class="separator:ab6004b6eb81636c73053841b32c371fa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab12ce694b065cb1729fff4815345b4a9"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1portaudio_1_1BlockingStream.html#ab12ce694b065cb1729fff4815345b4a9">write</a> (float[] buffer, int numFrames)</td></tr> <tr class="separator:ab12ce694b065cb1729fff4815345b4a9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3817b1e550497d46eb20459d9a41dc03"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1portaudio_1_1BlockingStream.html#a3817b1e550497d46eb20459d9a41dc03">read</a> (short[] buffer, int numFrames)</td></tr> <tr class="separator:a3817b1e550497d46eb20459d9a41dc03"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4a7b50bb6f5f7cb1cb95748ec20ca874"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1portaudio_1_1BlockingStream.html#a4a7b50bb6f5f7cb1cb95748ec20ca874">write</a> (short[] buffer, int numFrames)</td></tr> <tr class="separator:a4a7b50bb6f5f7cb1cb95748ec20ca874"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8acbba9e18de0678780d1209548f9c8d"><td class="memItemLeft" align="right" valign="top">native void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1portaudio_1_1BlockingStream.html#a8acbba9e18de0678780d1209548f9c8d">start</a> ()</td></tr> <tr class="separator:a8acbba9e18de0678780d1209548f9c8d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a912f5332bc0c5f610ec94bf583a3e2d6"><td class="memItemLeft" align="right" valign="top">native void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1portaudio_1_1BlockingStream.html#a912f5332bc0c5f610ec94bf583a3e2d6">stop</a> ()</td></tr> <tr class="separator:a912f5332bc0c5f610ec94bf583a3e2d6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9897ea14063ab8e9cf01da7f0c71dcf3"><td class="memItemLeft" align="right" valign="top">native void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1portaudio_1_1BlockingStream.html#a9897ea14063ab8e9cf01da7f0c71dcf3">abort</a> ()</td></tr> <tr class="separator:a9897ea14063ab8e9cf01da7f0c71dcf3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8aa21c90665dbd02b7578ec83aa7bc38"><td class="memItemLeft" align="right" valign="top">native void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1portaudio_1_1BlockingStream.html#a8aa21c90665dbd02b7578ec83aa7bc38">close</a> ()</td></tr> <tr class="separator:a8aa21c90665dbd02b7578ec83aa7bc38"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af7302d39a2f9d2fc698f6bec0cc22abc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7302d39a2f9d2fc698f6bec0cc22abc"></a> native boolean </td><td class="memItemRight" valign="bottom"><b>isStopped</b> ()</td></tr> <tr class="separator:af7302d39a2f9d2fc698f6bec0cc22abc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abe5907d29a3873b1ed0c5f53aa349d51"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe5907d29a3873b1ed0c5f53aa349d51"></a> native boolean </td><td class="memItemRight" valign="bottom"><b>isActive</b> ()</td></tr> <tr class="separator:abe5907d29a3873b1ed0c5f53aa349d51"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2ae8348af5928fd48cd6da8e1cef762e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ae8348af5928fd48cd6da8e1cef762e"></a> String </td><td class="memItemRight" valign="bottom"><b>toString</b> ()</td></tr> <tr class="separator:a2ae8348af5928fd48cd6da8e1cef762e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1768a144ac219d3ce7682ac8422d20f2"><td class="memItemLeft" align="right" valign="top">native double </td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1portaudio_1_1BlockingStream.html#a1768a144ac219d3ce7682ac8422d20f2">getTime</a> ()</td></tr> <tr class="separator:a1768a144ac219d3ce7682ac8422d20f2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a760ca3c640acd287074bfa222b052270"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a760ca3c640acd287074bfa222b052270"></a> <a class="el" href="classcom_1_1portaudio_1_1StreamInfo.html">StreamInfo</a> </td><td class="memItemRight" valign="bottom"><b>getInfo</b> ()</td></tr> <tr class="separator:a760ca3c640acd287074bfa222b052270"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Represents a stream for blocking read/write I/O.</p> <p>This Java object contains the pointer to a <a class="el" href="classcom_1_1portaudio_1_1PortAudio.html">PortAudio</a> stream stored as a long. It is passed to <a class="el" href="classcom_1_1portaudio_1_1PortAudio.html">PortAudio</a> when calling stream related functions.</p> <p>To create one of these, call PortAudio.openStream().</p> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classcom_1_1portaudio_1_1PortAudio.html">PortAudio</a></dd></dl> <dl class="section author"><dt>Author</dt><dd>Phil Burk </dd></dl> <p>Definition at line <a class="el" href="BlockingStream_8java_source.html#l00059">59</a> of file <a class="el" href="BlockingStream_8java_source.html">BlockingStream.java</a>.</p> </div><h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a9897ea14063ab8e9cf01da7f0c71dcf3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">native void com.portaudio.BlockingStream.abort </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Stop immediately and lose any data that was written but not played. </p> </div> </div> <a class="anchor" id="a8aa21c90665dbd02b7578ec83aa7bc38"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">native void com.portaudio.BlockingStream.close </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Close the stream and zero out the pointer. Do not reference the stream after this. </p> <p>Referenced by <a class="el" href="PlaySine_8java_source.html#l00045">com.portaudio.PlaySine.play()</a>.</p> </div> </div> <a class="anchor" id="a4cb237d1596fcfb10adf7e21166bfd10"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">native int com.portaudio.BlockingStream.getReadAvailable </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>number of frames that can be read without blocking. </dd></dl> </div> </div> <a class="anchor" id="a1768a144ac219d3ce7682ac8422d20f2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">native double com.portaudio.BlockingStream.getTime </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get audio time related to this stream. Note that it may not start at 0.0. </p> </div> </div> <a class="anchor" id="a24fcac3b87ee7f15cbf97c9f821009dd"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">native int com.portaudio.BlockingStream.getWriteAvailable </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>number of frames that can be written without blocking. </dd></dl> </div> </div> <a class="anchor" id="ab6004b6eb81636c73053841b32c371fa"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">boolean com.portaudio.BlockingStream.read </td> <td>(</td> <td class="paramtype">float[] </td> <td class="paramname"><em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numFrames</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Read 32-bit floating point data from the stream into the array.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">buffer</td><td></td></tr> <tr><td class="paramname">numFrames</td><td>number of frames to read </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>true if an input overflow occurred </dd></dl> <p>Definition at line <a class="el" href="BlockingStream_8java_source.html#l00093">93</a> of file <a class="el" href="BlockingStream_8java_source.html">BlockingStream.java</a>.</p> <p>References <a class="el" href="PortAudio_8java_source.html#l00075">com.portaudio.PortAudio.FORMAT_FLOAT_32</a>.</p> </div> </div> <a class="anchor" id="a3817b1e550497d46eb20459d9a41dc03"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">boolean com.portaudio.BlockingStream.read </td> <td>(</td> <td class="paramtype">short[] </td> <td class="paramname"><em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numFrames</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Read 16-bit integer data to the stream from the array.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">buffer</td><td></td></tr> <tr><td class="paramname">numFrames</td><td>number of frames to write </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>true if an input overflow occurred </dd></dl> <p>Definition at line <a class="el" href="BlockingStream_8java_source.html#l00134">134</a> of file <a class="el" href="BlockingStream_8java_source.html">BlockingStream.java</a>.</p> </div> </div> <a class="anchor" id="a8acbba9e18de0678780d1209548f9c8d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">native void com.portaudio.BlockingStream.start </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Atart audio I/O. </p> <p>Referenced by <a class="el" href="PlaySine_8java_source.html#l00045">com.portaudio.PlaySine.play()</a>.</p> </div> </div> <a class="anchor" id="a912f5332bc0c5f610ec94bf583a3e2d6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">native void com.portaudio.BlockingStream.stop </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Wait for the stream to play all of the data that has been written then stop. </p> <p>Referenced by <a class="el" href="PlaySine_8java_source.html#l00045">com.portaudio.PlaySine.play()</a>.</p> </div> </div> <a class="anchor" id="ab12ce694b065cb1729fff4815345b4a9"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">boolean com.portaudio.BlockingStream.write </td> <td>(</td> <td class="paramtype">float[] </td> <td class="paramname"><em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numFrames</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Write 32-bit floating point data to the stream from the array. The data should be in the range -1.0 to +1.0.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">buffer</td><td></td></tr> <tr><td class="paramname">numFrames</td><td>number of frames to write </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>true if an output underflow occurred </dd></dl> <p>Definition at line <a class="el" href="BlockingStream_8java_source.html#l00112">112</a> of file <a class="el" href="BlockingStream_8java_source.html">BlockingStream.java</a>.</p> <p>References <a class="el" href="PortAudio_8java_source.html#l00075">com.portaudio.PortAudio.FORMAT_FLOAT_32</a>.</p> </div> </div> <a class="anchor" id="a4a7b50bb6f5f7cb1cb95748ec20ca874"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">boolean com.portaudio.BlockingStream.write </td> <td>(</td> <td class="paramtype">short[] </td> <td class="paramname"><em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numFrames</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Write 16-bit integer data to the stream from the array.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">buffer</td><td></td></tr> <tr><td class="paramname">numFrames</td><td>number of frames to write </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>true if an output underflow occurred </dd></dl> <p>Definition at line <a class="el" href="BlockingStream_8java_source.html#l00152">152</a> of file <a class="el" href="BlockingStream_8java_source.html">BlockingStream.java</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="BlockingStream_8java_source.html">BlockingStream.java</a></li> </ul> </div><!-- contents --> <hr size="1"><address style="text-align: right;"><small>Generated for PortAudio by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a>1.8.3.1</small></address> </body> </html>