Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > by-pkgid > 34546d63baef3ab2a7675f37737b66ab > files > 5

libalsa2-docs-1.0.23-2.1mdv2010.1.i586.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!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"/>
<title>ALSA project - the C library reference: /test/pcm_min.c</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>/test/pcm_min.c</h1><div class="fragment"><pre class="fragment"><span class="comment">/*</span>
<span class="comment"> *  This extra small demo sends a random samples to your speakers.</span>
<span class="comment"> */</span>

<span class="preprocessor">#include &quot;../include/asoundlib.h&quot;</span>

<span class="keyword">static</span> <span class="keywordtype">char</span> *device = <span class="stringliteral">&quot;default&quot;</span>;                        <span class="comment">/* playback device */</span>

<a name="a0"></a><a class="code" href="group___output.html#ga49729cc6454539495c1f5b6e95cd474a" title="Internal structure for an output object.">snd_output_t</a> *output = NULL;
<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> buffer[16*1024];                          <span class="comment">/* some random data */</span>

<span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)
{
        <span class="keywordtype">int</span> err;
        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;
        <a name="a1"></a><a class="code" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *handle;
        <a name="a2"></a><a class="code" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> frames;

        <span class="keywordflow">for</span> (i = 0; i &lt; <span class="keyword">sizeof</span>(buffer); i++)
                buffer[i] = random() &amp; 0xff;

        <span class="keywordflow">if</span> ((err = <a name="a3"></a><a class="code" href="group___p_c_m.html#ga8340c7dc0ac37f37afe5e7c21d6c528b" title="Opens a PCM.">snd_pcm_open</a>(&amp;handle, device, <a name="a4"></a><a class="code" href="group___p_c_m.html#ggac23b43ff55add78638e503b9cc892c24a57a2b920dbc34173479fc9036cfc78a1">SND_PCM_STREAM_PLAYBACK</a>, 0)) &lt; 0) {
                printf(<span class="stringliteral">&quot;Playback open error: %s\n&quot;</span>, <a name="a5"></a><a class="code" href="group___error.html#ga182bbadf2349e11602bc531e8cf22f7e" title="Returns the message for an error code.">snd_strerror</a>(err));
                exit(EXIT_FAILURE);
        }
        <span class="keywordflow">if</span> ((err = <a name="a6"></a><a class="code" href="group___p_c_m.html#ga45d50841b307f2156fce1857bfac228c" title="Set the hardware and software parameters in a simple way.">snd_pcm_set_params</a>(handle,
                                      <a name="a7"></a><a class="code" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8ad5856f97113926836a7c6651cb8864a3">SND_PCM_FORMAT_U8</a>,
                                      <a name="a8"></a><a class="code" href="group___p_c_m.html#gga661221ba5e8f1d6eaf4ab8e2da57cc1aa72a970ed6e676ab0fd9f3c3d36737e0a">SND_PCM_ACCESS_RW_INTERLEAVED</a>,
                                      1,
                                      48000,
                                      1,
                                      500000)) &lt; 0) {   <span class="comment">/* 0.5sec */</span>
                printf(<span class="stringliteral">&quot;Playback open error: %s\n&quot;</span>, <a class="code" href="group___error.html#ga182bbadf2349e11602bc531e8cf22f7e" title="Returns the message for an error code.">snd_strerror</a>(err));
                exit(EXIT_FAILURE);
        }

        <span class="keywordflow">for</span> (i = 0; i &lt; 16; i++) {
                frames = <a name="a9"></a><a class="code" href="group___p_c_m.html#gabc748a500743713eafa960c7d104ca6f" title="Write interleaved frames to a PCM.">snd_pcm_writei</a>(handle, buffer, <span class="keyword">sizeof</span>(buffer));
                <span class="keywordflow">if</span> (frames &lt; 0)
                        frames = <a name="a10"></a><a class="code" href="group___p_c_m.html#ga2157aaeb6fc14da3f040d76591f9d3b1" title="Recover the stream state from an error or suspend.">snd_pcm_recover</a>(handle, frames, 0);
                <span class="keywordflow">if</span> (frames &lt; 0) {
                        printf(<span class="stringliteral">&quot;snd_pcm_writei failed: %s\n&quot;</span>, <a class="code" href="group___error.html#ga182bbadf2349e11602bc531e8cf22f7e" title="Returns the message for an error code.">snd_strerror</a>(err));
                        <span class="keywordflow">break</span>;
                }
                <span class="keywordflow">if</span> (frames &gt; 0 &amp;&amp; frames &lt; (<span class="keywordtype">long</span>)<span class="keyword">sizeof</span>(buffer))
                        printf(<span class="stringliteral">&quot;Short write (expected %li, wrote %li)\n&quot;</span>, (<span class="keywordtype">long</span>)<span class="keyword">sizeof</span>(buffer), frames);
        }

        <a name="a11"></a><a class="code" href="group___p_c_m.html#ga042aba7262a4cbb4d444b6fc08cb7124" title="close PCM handle">snd_pcm_close</a>(handle);
        <span class="keywordflow">return</span> 0;
}
</pre></div> </div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Nov 20 07:42:23 2010 for ALSA project - the C library reference by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>