<?xml version="1.0" encoding="ascii"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>pyaudio.Stream</title> <link rel="stylesheet" href="epydoc.css" type="text/css" /> <script type="text/javascript" src="epydoc.js"></script> </head> <body bgcolor="white" text="black" link="blue" vlink="#204080" alink="#204080"> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Home link --> <th> <a href="pyaudio-module.html">Home</a> </th> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <!-- Project homepage --> <th class="navbar" align="right" width="100%"> <table border="0" cellpadding="0" cellspacing="0"> <tr><th class="navbar" align="center" ><a class="navbar" target="_top" href="http://people.csail.mit.edu/hubert/pyaudio/">PyAudio-0.2.4</a></th> </tr></table></th> </tr> </table> <table width="100%" cellpadding="0" cellspacing="0"> <tr valign="top"> <td width="100%"> <span class="breadcrumbs"> <a href="pyaudio-module.html">Module pyaudio</a> :: Class Stream </span> </td> <td> <table cellpadding="0" cellspacing="0"> <!-- hide/show private --> <tr><td align="right"><span class="options" >[<a href="frames.html" target="_top">frames</a >] | <a href="pyaudio.Stream-class.html" target="_top">no frames</a>]</span></td></tr> </table> </td> </tr> </table> <!-- ==================== CLASS DESCRIPTION ==================== --> <h1 class="epydoc">Class Stream</h1><p class="nomargin-top"><span class="codelink"><a href="pyaudio-pysrc.html#Stream">source code</a></span></p> PortAudio Stream Wrapper. Use <a href="pyaudio.PyAudio-class.html#open" class="link">PyAudio.open</a> to make a new <a href="pyaudio.Stream-class.html" class="link">Stream</a>. <!-- ==================== INSTANCE METHODS ==================== --> <a name="section-InstanceMethods"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td align="left" colspan="2" class="table-header"> <span class="table-header">Instance Methods</span></td> </tr> <tr bgcolor="#e8f0f8" > <th colspan="2" class="group-header" > Opening and Closing</th></tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="pyaudio.Stream-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">PA_manager</span>, <span class="summary-sig-arg">rate</span>, <span class="summary-sig-arg">channels</span>, <span class="summary-sig-arg">format</span>, <span class="summary-sig-arg">input</span>=<span class="summary-sig-default">False</span>, <span class="summary-sig-arg">output</span>=<span class="summary-sig-default">False</span>, <span class="summary-sig-arg">input_device_index</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">output_device_index</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">frames_per_buffer</span>=<span class="summary-sig-default">1024</span>, <span class="summary-sig-arg">start</span>=<span class="summary-sig-default">True</span>, <span class="summary-sig-arg">input_host_api_specific_stream_info</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">output_host_api_specific_stream_info</span>=<span class="summary-sig-default">None</span>)</span><br /> Initialize a stream; this should be called by <a href="pyaudio.PyAudio-class.html#open" class="link">PyAudio.open</a>. A stream can either be input, output, or both.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.__init__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="close"></a><span class="summary-sig-name">close</span>(<span class="summary-sig-arg">self</span>)</span><br /> Close the stream</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.close">source code</a></span> </td> </tr> </table> </td> </tr> <tr bgcolor="#e8f0f8" > <th colspan="2" class="group-header" > Stream Info</th></tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type">float</span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="get_input_latency"></a><span class="summary-sig-name">get_input_latency</span>(<span class="summary-sig-arg">self</span>)</span><br /> Return the input latency.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.get_input_latency">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type">float</span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="get_output_latency"></a><span class="summary-sig-name">get_output_latency</span>(<span class="summary-sig-arg">self</span>)</span><br /> Return the input latency.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.get_output_latency">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type">float</span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="get_time"></a><span class="summary-sig-name">get_time</span>(<span class="summary-sig-arg">self</span>)</span><br /> Return stream time.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.get_time">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type">float</span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="pyaudio.Stream-class.html#get_cpu_load" class="summary-sig-name">get_cpu_load</a>(<span class="summary-sig-arg">self</span>)</span><br /> Return the CPU load.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.get_cpu_load">source code</a></span> </td> </tr> </table> </td> </tr> <tr bgcolor="#e8f0f8" > <th colspan="2" class="group-header" > Stream Management</th></tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="start_stream"></a><span class="summary-sig-name">start_stream</span>(<span class="summary-sig-arg">self</span>)</span><br /> Start the stream.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.start_stream">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="stop_stream"></a><span class="summary-sig-name">stop_stream</span>(<span class="summary-sig-arg">self</span>)</span><br /> Stop the stream. Once the stream is stopped, one may not call write or read. However, one may call start_stream to resume the stream.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.stop_stream">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type">bool</span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="is_active"></a><span class="summary-sig-name">is_active</span>(<span class="summary-sig-arg">self</span>)</span><br /> Returns whether the stream is active.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.is_active">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type">bool</span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="is_stopped"></a><span class="summary-sig-name">is_stopped</span>(<span class="summary-sig-arg">self</span>)</span><br /> Returns whether the stream is stopped.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.is_stopped">source code</a></span> </td> </tr> </table> </td> </tr> <tr bgcolor="#e8f0f8" > <th colspan="2" class="group-header" > Input Output</th></tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"><code class="link">None</code></span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="pyaudio.Stream-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">frames</span>, <span class="summary-sig-arg">num_frames</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">exception_on_underflow</span>=<span class="summary-sig-default">False</span>)</span><br /> Write samples to the stream.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.write">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type">str</span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="pyaudio.Stream-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">num_frames</span>)</span><br /> Read samples from the stream.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.read">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type">int</span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="get_read_available"></a><span class="summary-sig-name">get_read_available</span>(<span class="summary-sig-arg">self</span>)</span><br /> Return the number of frames that can be read without waiting.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.get_read_available">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type">int</span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="get_write_available"></a><span class="summary-sig-name">get_write_available</span>(<span class="summary-sig-arg">self</span>)</span><br /> Return the number of frames that can be written without waiting.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyaudio-pysrc.html#Stream.get_write_available">source code</a></span> </td> </tr> </table> </td> </tr> </table> <!-- ==================== METHOD DETAILS ==================== --> <a name="section-MethodDetails"></a> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td align="left" colspan="2" class="table-header"> <span class="table-header">Method Details</span></td> </tr> </table> <a name="__init__"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>, <span class="sig-arg">PA_manager</span>, <span class="sig-arg">rate</span>, <span class="sig-arg">channels</span>, <span class="sig-arg">format</span>, <span class="sig-arg">input</span>=<span class="sig-default">False</span>, <span class="sig-arg">output</span>=<span class="sig-default">False</span>, <span class="sig-arg">input_device_index</span>=<span class="sig-default">None</span>, <span class="sig-arg">output_device_index</span>=<span class="sig-default">None</span>, <span class="sig-arg">frames_per_buffer</span>=<span class="sig-default">1024</span>, <span class="sig-arg">start</span>=<span class="sig-default">True</span>, <span class="sig-arg">input_host_api_specific_stream_info</span>=<span class="sig-default">None</span>, <span class="sig-arg">output_host_api_specific_stream_info</span>=<span class="sig-default">None</span>)</span> <br /><em class="fname">(Constructor)</em> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="pyaudio-pysrc.html#Stream.__init__">source code</a></span> </td> </tr></table> Initialize a stream; this should be called by <a href="pyaudio.PyAudio-class.html#open" class="link">PyAudio.open</a>. A stream can either be input, output, or both. <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>PA_manager</code></strong> - A reference to the managing <a href="pyaudio.PyAudio-class.html" class="link">PyAudio</a> instance</li> <li><strong class="pname"><code>rate</code></strong> - Sampling rate</li> <li><strong class="pname"><code>channels</code></strong> - Number of channels</li> <li><strong class="pname"><code>format</code></strong> - Sampling size and format. See <a href="pyaudio-module.html#PaSampleFormat" class="link">PaSampleFormat</a>.</li> <li><strong class="pname"><code>input</code></strong> - Specifies whether this is an input stream. Defaults to False.</li> <li><strong class="pname"><code>output</code></strong> - Specifies whether this is an output stream. Defaults to False.</li> <li><strong class="pname"><code>input_device_index</code></strong> - Index of Input Device to use. Unspecified (or None) uses default device. Ignored if <code class="link">input</code> is False.</li> <li><strong class="pname"><code>output_device_index</code></strong> - Index of Output Device to use. Unspecified (or None) uses the default device. Ignored if <code class="link">output</code> is False.</li> <li><strong class="pname"><code>frames_per_buffer</code></strong> - Specifies the number of frames per buffer.</li> <li><strong class="pname"><code>start</code></strong> - Start the stream running immediately. Defaults to True. In general, there is no reason to set this to false.</li> <li><strong class="pname"><code>input_host_api_specific_stream_info</code></strong> - Specifies a host API specific stream information data structure for input. See <a href="pyaudio.PaMacCoreStreamInfo-class.html" class="link">PaMacCoreStreamInfo</a>.</li> <li><strong class="pname"><code>output_host_api_specific_stream_info</code></strong> - Specifies a host API specific stream information data structure for output. See <a href="pyaudio.PaMacCoreStreamInfo-class.html" class="link">PaMacCoreStreamInfo</a>.</li> </ul></dd> <dt>Raises:</dt> <dd><ul class="nomargin-top"> <li><code><strong class='fraise'>ValueError</strong></code> - Neither input nor output are set True.</li> </ul></dd> </dl> </td></tr></table> </div> <a name="get_cpu_load"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">get_cpu_load</span>(<span class="sig-arg">self</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="pyaudio-pysrc.html#Stream.get_cpu_load">source code</a></span> </td> </tr></table> <p>Return the CPU load.</p> <p>(Note: this is always 0.0 for the blocking API.)</p> <dl class="fields"> <dt>Returns: float</dt> </dl> </td></tr></table> </div> <a name="write"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>, <span class="sig-arg">frames</span>, <span class="sig-arg">num_frames</span>=<span class="sig-default">None</span>, <span class="sig-arg">exception_on_underflow</span>=<span class="sig-default">False</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="pyaudio-pysrc.html#Stream.write">source code</a></span> </td> </tr></table> Write samples to the stream. <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>frames</code></strong> - The frames of data.</li> <li><strong class="pname"><code>num_frames</code></strong> - The number of frames to write. Defaults to None, in which this value will be automatically computed.</li> <li><strong class="pname"><code>exception_on_underflow</code></strong> - Specifies whether an exception should be thrown (or silently ignored) on buffer underflow. Defaults to False for improved performance, especially on slower platforms.</li> </ul></dd> <dt>Returns: <code class="link">None</code></dt> <dt>Raises:</dt> <dd><ul class="nomargin-top"> <li><code><strong class='fraise'>IOError</strong></code> - if the stream is not an output stream or if the write operation was unsuccessful.</li> </ul></dd> </dl> </td></tr></table> </div> <a name="read"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>, <span class="sig-arg">num_frames</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="pyaudio-pysrc.html#Stream.read">source code</a></span> </td> </tr></table> Read samples from the stream. <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>num_frames</code></strong> - The number of frames to read.</li> </ul></dd> <dt>Returns: str</dt> <dt>Raises:</dt> <dd><ul class="nomargin-top"> <li><code><strong class='fraise'>IOError</strong></code> - if stream is not an input stream or if the read operation was unsuccessful.</li> </ul></dd> </dl> </td></tr></table> </div> <br /> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Home link --> <th> <a href="pyaudio-module.html">Home</a> </th> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <!-- Project homepage --> <th class="navbar" align="right" width="100%"> <table border="0" cellpadding="0" cellspacing="0"> <tr><th class="navbar" align="center" ><a class="navbar" target="_top" href="http://people.csail.mit.edu/hubert/pyaudio/">PyAudio-0.2.4</a></th> </tr></table></th> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="100%%"> <tr> <td align="left" class="footer"> Generated by Epydoc 3.0.1 on Thu Sep 16 04:53:11 2010 </td> <td align="right" class="footer"> <a target="mainFrame" href="http://epydoc.sourceforge.net" >http://epydoc.sourceforge.net</a> </td> </tr> </table> <script type="text/javascript"> <!-- // Private objects are initially displayed (because if // javascript is turned off then we want them to be // visible); but by default, we want to hide them. So hide // them unless we have a cookie that says to show them. checkCookie(); // --> </script> </body> </html>