Files
android_development/pdk/docs/classandroid_1_1_audio_stream_out.html
2008-12-17 18:04:04 -08:00

317 lines
14 KiB
HTML
Executable File

<!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/html; charset=iso-8859-1" />
<title>Doxygen-Generated Content</title>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.navigation {
display: none;
}
-->
</style>
</head>
<body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
<div class="navpath"><a class="el" href="namespaceandroid.html">android</a>::<a class="el" href="classandroid_1_1_audio_stream_out.html">AudioStreamOut</a>
</div>
</div>
<div class="contents">
<h1>android::AudioStreamOut Class Reference</h1><!-- doxytag: class="android::AudioStreamOut" --><a class="el" href="classandroid_1_1_audio_stream_out.html" title="AudioStreamOut is the abstraction interface for the audio output hardware.">AudioStreamOut</a> is the abstraction interface for the audio output hardware.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="_audio_hardware_interface_8h-source.html">AudioHardwareInterface.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_stream_out.html#09074dbae95b82d4f83c513035a0034f">~AudioStreamOut</a> ()=0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_stream_out.html#6bb028e125d13289f26d3d74f851c921">sampleRate</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return audio sampling rate in hz - eg. <a href="#6bb028e125d13289f26d3d74f851c921"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_stream_out.html#7b3c5f2ce79b9b6f167408f63d19af0a">bufferSize</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns size of output buffer - eg. <a href="#7b3c5f2ce79b9b6f167408f63d19af0a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_stream_out.html#4e880a5379c168e8f68c26827e41275b">channelCount</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return number of output audio channels. <a href="#4e880a5379c168e8f68c26827e41275b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_stream_out.html#eb2b430bbff4eebd8fb8590507b1dce1">format</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return audio format in 8bit or 16bit PCM format - eg. <a href="#eb2b430bbff4eebd8fb8590507b1dce1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_stream_out.html#66b7c4bb510db4060adfd03a376897d8">frameSize</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the frame size (number of bytes per sample). <a href="#66b7c4bb510db4060adfd03a376897d8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_stream_out.html#c698a3d95cf0829dcfe283cd5ea437cb">latency</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the audio hardware driver latency in milli seconds. <a href="#c698a3d95cf0829dcfe283cd5ea437cb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_stream_out.html#e6d301925d193c25561b42239c7f44b6">setVolume</a> (float volume)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use this method in situations where audio mixing is done in the hardware. <a href="#e6d301925d193c25561b42239c7f44b6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_stream_out.html#cba177e4a4a35a87ab9f8aa2a9c0e78e">write</a> (const void *buffer, size_t bytes)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">write audio buffer to driver. <a href="#cba177e4a4a35a87ab9f8aa2a9c0e78e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_stream_out.html#97e3cc4610ba40d6c37b3d376a032b98">dump</a> (int fd, const Vector&lt; String16 &gt; &amp;args)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dump the state of the audio output device <a href="#97e3cc4610ba40d6c37b3d376a032b98"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="classandroid_1_1_audio_stream_out.html" title="AudioStreamOut is the abstraction interface for the audio output hardware.">AudioStreamOut</a> is the abstraction interface for the audio output hardware.
<p>
It provides information about various properties of the audio output hardware driver.
<p>Definition at line <a class="el" href="_audio_hardware_interface_8h-source.html#l00040">40</a> of file <a class="el" href="_audio_hardware_interface_8h-source.html">AudioHardwareInterface.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="09074dbae95b82d4f83c513035a0034f"></a><!-- doxytag: member="android::AudioStreamOut::~AudioStreamOut" ref="09074dbae95b82d4f83c513035a0034f" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual android::AudioStreamOut::~AudioStreamOut </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="6bb028e125d13289f26d3d74f851c921"></a><!-- doxytag: member="android::AudioStreamOut::sampleRate" ref="6bb028e125d13289f26d3d74f851c921" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual uint32_t android::AudioStreamOut::sampleRate </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
return audio sampling rate in hz - eg.
<p>
44100
</div>
</div><p>
<a class="anchor" name="7b3c5f2ce79b9b6f167408f63d19af0a"></a><!-- doxytag: member="android::AudioStreamOut::bufferSize" ref="7b3c5f2ce79b9b6f167408f63d19af0a" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual size_t android::AudioStreamOut::bufferSize </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
returns size of output buffer - eg.
<p>
4800
</div>
</div><p>
<a class="anchor" name="4e880a5379c168e8f68c26827e41275b"></a><!-- doxytag: member="android::AudioStreamOut::channelCount" ref="4e880a5379c168e8f68c26827e41275b" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual int android::AudioStreamOut::channelCount </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
return number of output audio channels.
<p>
Acceptable values are 1 (mono) or 2 (stereo)
</div>
</div><p>
<a class="anchor" name="eb2b430bbff4eebd8fb8590507b1dce1"></a><!-- doxytag: member="android::AudioStreamOut::format" ref="eb2b430bbff4eebd8fb8590507b1dce1" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual int android::AudioStreamOut::format </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
return audio format in 8bit or 16bit PCM format - eg.
<p>
AudioSystem:PCM_16_BIT
</div>
</div><p>
<a class="anchor" name="66b7c4bb510db4060adfd03a376897d8"></a><!-- doxytag: member="android::AudioStreamOut::frameSize" ref="66b7c4bb510db4060adfd03a376897d8" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t android::AudioStreamOut::frameSize </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
return the frame size (number of bytes per sample).
<p>
<p>Definition at line <a class="el" href="_audio_hardware_interface_8h-source.html#l00065">65</a> of file <a class="el" href="_audio_hardware_interface_8h-source.html">AudioHardwareInterface.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="c698a3d95cf0829dcfe283cd5ea437cb"></a><!-- doxytag: member="android::AudioStreamOut::latency" ref="c698a3d95cf0829dcfe283cd5ea437cb" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual uint32_t android::AudioStreamOut::latency </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
return the audio hardware driver latency in milli seconds.
<p>
</div>
</div><p>
<a class="anchor" name="e6d301925d193c25561b42239c7f44b6"></a><!-- doxytag: member="android::AudioStreamOut::setVolume" ref="e6d301925d193c25561b42239c7f44b6" args="(float volume)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioStreamOut::setVolume </td>
<td>(</td>
<td class="paramtype">float&nbsp;</td>
<td class="paramname"> <em>volume</em> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Use this method in situations where audio mixing is done in the hardware.
<p>
This method serves as a direct interface with hardware, allowing you to directly set the volume as apposed to via the framework. This method might produce multiple PCM outputs or hardware accelerated codecs, such as MP3 or AAC.
</div>
</div><p>
<a class="anchor" name="cba177e4a4a35a87ab9f8aa2a9c0e78e"></a><!-- doxytag: member="android::AudioStreamOut::write" ref="cba177e4a4a35a87ab9f8aa2a9c0e78e" args="(const void *buffer, size_t bytes)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual ssize_t android::AudioStreamOut::write </td>
<td>(</td>
<td class="paramtype">const void *&nbsp;</td>
<td class="paramname"> <em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>bytes</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
write audio buffer to driver.
<p>
Returns number of bytes written
</div>
</div><p>
<a class="anchor" name="97e3cc4610ba40d6c37b3d376a032b98"></a><!-- doxytag: member="android::AudioStreamOut::dump" ref="97e3cc4610ba40d6c37b3d376a032b98" args="(int fd, const Vector&lt; String16 &gt; &amp;args)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioStreamOut::dump </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>fd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Vector&lt; String16 &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>args</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
dump the state of the audio output device
<p>
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_audio_hardware_interface_8h-source.html">AudioHardwareInterface.h</a></ul>
</div>
</body>
</html>