forked from auracaster/pyalsaaudio
Documentation for 0.11.0
This commit is contained in:
@@ -1,17 +1,16 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<html lang="en" data-content_root="./">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>alsaaudio — alsaaudio documentation 0.10.0 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/sphinx_highlight.js"></script>
|
||||
<title>alsaaudio — alsaaudio documentation 0.11.0 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=cb25574f" />
|
||||
<script src="_static/documentation_options.js?v=f3b36f1a"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
@@ -33,11 +32,11 @@
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="module-alsaaudio">
|
||||
<span id="alsaaudio"></span><h1><a class="reference internal" href="#module-alsaaudio" title="alsaaudio (Linux)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">alsaaudio</span></code></a><a class="headerlink" href="#module-alsaaudio" title="Permalink to this heading">¶</a></h1>
|
||||
<span id="alsaaudio"></span><h1><a class="reference internal" href="#module-alsaaudio" title="alsaaudio (Linux)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">alsaaudio</span></code></a><a class="headerlink" href="#module-alsaaudio" title="Link to this heading">¶</a></h1>
|
||||
<p>The <a class="reference internal" href="#module-alsaaudio" title="alsaaudio (Linux)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">alsaaudio</span></code></a> module defines functions and classes for using ALSA.</p>
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="alsaaudio.pcms">
|
||||
<span class="sig-prename descclassname"><span class="pre">alsaaudio.</span></span><span class="sig-name descname"><span class="pre">pcms</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pcmtype</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">PCM_PLAYBACK</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.pcms" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">alsaaudio.</span></span><span class="sig-name descname"><span class="pre">pcms</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pcmtype</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">PCM_PLAYBACK</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#alsaaudio.pcms" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>List available PCM devices by name.</p>
|
||||
<p>Arguments are:</p>
|
||||
<ul class="simple">
|
||||
@@ -61,7 +60,7 @@ commandline:</p>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="alsaaudio.cards">
|
||||
<span class="sig-prename descclassname"><span class="pre">alsaaudio.</span></span><span class="sig-name descname"><span class="pre">cards</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.cards" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">alsaaudio.</span></span><span class="sig-name descname"><span class="pre">cards</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#alsaaudio.cards" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>List the available ALSA cards by name. This function is only moderately
|
||||
useful. If you want to see a list of available PCM devices, use <a class="reference internal" href="#alsaaudio.pcms" title="alsaaudio.pcms"><code class="xref py py-func docutils literal notranslate"><span class="pre">pcms()</span></code></a>
|
||||
instead.</p>
|
||||
@@ -69,7 +68,7 @@ instead.</p>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="alsaaudio.mixers">
|
||||
<span class="sig-prename descclassname"><span class="pre">alsaaudio.</span></span><span class="sig-name descname"><span class="pre">mixers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cardindex</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'default'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.mixers" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">alsaaudio.</span></span><span class="sig-name descname"><span class="pre">mixers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cardindex</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">-1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'default'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#alsaaudio.mixers" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>List the available mixers. The arguments are:</p>
|
||||
<ul>
|
||||
<li><p><em>cardindex</em> - the card index. If this argument is given, the device name
|
||||
@@ -107,20 +106,24 @@ device, not the mixers for the first card.</p></li>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="alsaaudio.asoundlib_version">
|
||||
<span class="sig-prename descclassname"><span class="pre">alsaaudio.</span></span><span class="sig-name descname"><span class="pre">asoundlib_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.asoundlib_version" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">alsaaudio.</span></span><span class="sig-name descname"><span class="pre">asoundlib_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="headerlink" href="#alsaaudio.asoundlib_version" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return a Python string containing the ALSA version found.</p>
|
||||
</dd></dl>
|
||||
|
||||
<section id="pcm-objects">
|
||||
<span id="id1"></span><h2>PCM Objects<a class="headerlink" href="#pcm-objects" title="Permalink to this heading">¶</a></h2>
|
||||
<span id="id1"></span><h2>PCM Objects<a class="headerlink" href="#pcm-objects" title="Link to this heading">¶</a></h2>
|
||||
<p>PCM objects in <a class="reference internal" href="#module-alsaaudio" title="alsaaudio (Linux)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">alsaaudio</span></code></a> can play or capture (record) PCM
|
||||
sound through speakers or a microphone. The PCM constructor takes the
|
||||
following arguments:</p>
|
||||
<dl class="py class">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM">
|
||||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">alsaaudio.</span></span><span class="sig-name descname"><span class="pre">PCM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">PCM_PLAYBACK</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mode</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">PCM_NORMAL</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rate</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">44100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">format</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">PCM_FORMAT_S16_LE</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">periodsize</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">32</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">periods</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'default'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cardindex</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>This class is used to represent a PCM device (either for playback and
|
||||
recording). The arguments are:</p>
|
||||
<dt class="sig sig-object py">
|
||||
<span class="sig-name descname"><span class="pre">PCM(type:</span> <span class="pre">int</span> <span class="pre">=</span> <span class="pre">PCM_PLAYBACK,</span> <span class="pre">mode:</span> <span class="pre">int</span> <span class="pre">=</span> <span class="pre">PCM_NORMAL,</span> <span class="pre">rate:</span> <span class="pre">int</span> <span class="pre">=</span> <span class="pre">44100,</span> <span class="pre">channels:</span> <span class="pre">int</span> <span class="pre">=</span> <span class="pre">2,</span></span></dt>
|
||||
<dt class="sig sig-object py">
|
||||
<span class="sig-name descname"><span class="pre">format:</span> <span class="pre">int</span> <span class="pre">=</span> <span class="pre">PCM_FORMAT_S16_LE,</span> <span class="pre">periodsize:</span> <span class="pre">int</span> <span class="pre">=</span> <span class="pre">32,</span> <span class="pre">periods:</span> <span class="pre">int</span> <span class="pre">=</span> <span class="pre">4,</span></span></dt>
|
||||
<dt class="sig sig-object py">
|
||||
<span class="sig-name descname"><span class="pre">device:</span> <span class="pre">str</span> <span class="pre">=</span> <span class="pre">'default',</span> <span class="pre">cardindex:</span> <span class="pre">int</span> <span class="pre">=</span> <span class="pre">-1)</span> <span class="pre">-></span> <span class="pre">PCM</span></span></dt>
|
||||
<dd><p>This class is used to represent a PCM device (either for playback or
|
||||
recording). The constructor’s arguments are:</p>
|
||||
<ul class="simple">
|
||||
<li><p><em>type</em> - can be either <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_CAPTURE</span></code> or <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_PLAYBACK</span></code>
|
||||
(default).</p></li>
|
||||
@@ -237,7 +240,14 @@ the <cite>device</cite> keyword argument is ignored.
|
||||
<p><strong>Note:</strong> This should not be used, as it bypasses most of ALSA’s configuration.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>This will construct a PCM object with the given settings.</p>
|
||||
<p>The defaults mentioned above are values passed by :mod:alsaaudio
|
||||
to ALSA, not anything internal to ALSA.</p>
|
||||
<p><strong>Note:</strong> For default and non-default values alike, there is no
|
||||
guarantee that a PCM device supports the requested configuration,
|
||||
and ALSA may pick realizable values which it believes to be closest
|
||||
to the request. Therefore, after creating a PCM object, it is
|
||||
necessary to verify whether its realized configuration is acceptable.
|
||||
The :func:info method can be used to query it.</p>
|
||||
<p><em>Changed in 0.10:</em></p>
|
||||
<ul class="simple">
|
||||
<li><p>Added the optional named parameter <cite>periods</cite>.</p></li>
|
||||
@@ -259,8 +269,19 @@ name of the card. This was always fragile and broke some legitimate usecases.</p
|
||||
<p>PCM objects have the following methods:</p>
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.info">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">info</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.info" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The info function returns a dictionary containing the configuration of a PCM device. As ALSA takes into account limitations of the hardware and software devices the configuration achieved might not correspond to the values used during creation. There is therefore a need to check the realised configuration before processing the sound coming from the device or before sending sound to a device. A small subset of parameters can be set, but cannot be queried. These parameters are stored by alsaaudio and returned as they were given by the user, to distinguish them from parameters retrieved from ALSA these parameters have a name prefixed with <strong>“ (call value) “</strong>. Yet another set of properties derives directly from the hardware and can be obtained through ALSA.</p>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">info</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">dict</span></span></span><a class="headerlink" href="#alsaaudio.PCM.info" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Returns a dictionary containing the configuration of a PCM device.</p>
|
||||
<p>A small subset of properties reflects fixed parameters given by the
|
||||
user, stored within alsaaudio. To distinguish them from properties
|
||||
retrieved from ALSA when the call is made, they have their name
|
||||
prefixed with <strong>“ (call value) “</strong>.</p>
|
||||
<p>Descriptions of properties which can be directly set during PCM object
|
||||
instantiation carry the prefix “PCM():”, followed by the respective
|
||||
constructor parameter. Note that due to device limitations, the values
|
||||
may deviate from those originally requested.</p>
|
||||
<p>Yet another set of properties cannot be set, and derives directly from
|
||||
the hardware, possibly depending on other properties. Those properties’
|
||||
descriptions are prefixed with “hw:” below.</p>
|
||||
<table class="docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Key</p></th>
|
||||
@@ -362,7 +383,15 @@ name of the card. This was always fragile and broke some legitimate usecases.</p
|
||||
<td><p>tuple (integer (Hz), integer (Hz))</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>significant_bits</p></td>
|
||||
<td><p><em>significant bits in sample</em></p></td>
|
||||
<td><p><em>significant bits in sample</em> <a class="footnote-reference brackets" href="#tss" id="id2" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p></td>
|
||||
<td><p>integer (negative indicates error)</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>nominal_bits</p></td>
|
||||
<td><p><em>nominal bits in sample</em> <a class="footnote-reference brackets" href="#tss" id="id3" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p></td>
|
||||
<td><p>integer (negative indicates error)</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>physical_bits</p></td>
|
||||
<td><p><em>sample width in bits</em> <a class="footnote-reference brackets" href="#tss" id="id4" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p></td>
|
||||
<td><p>integer (negative indicates error)</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>is_batch</p></td>
|
||||
@@ -407,80 +436,82 @@ name of the card. This was always fragile and broke some legitimate usecases.</p
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>The italicized descriptions give a summary of the “full” description as it can be found in the <a class="reference external" href="https://www.alsa-project.org/alsa-doc">ALSA documentation</a>. “hw:”: indicates that the property indicated relates to the hardware. Parameters passed to the PCM object during instantation are prefixed with “PCM():”, they are described there for the keyword argument indicated after “PCM():”.</p>
|
||||
</dd></dl>
|
||||
|
||||
<aside class="footnote-list brackets">
|
||||
<aside class="footnote brackets" id="tss" role="doc-footnote">
|
||||
<span class="label"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></span>
|
||||
<span class="backrefs">(<a role="doc-backlink" href="#id2">1</a>,<a role="doc-backlink" href="#id3">2</a>,<a role="doc-backlink" href="#id4">3</a>)</span>
|
||||
<p>More information in the <a class="reference internal" href="terminology.html#term-sample-size"><span class="std std-ref">terminology section for sample size</span></a></p>
|
||||
</aside>
|
||||
</aside>
|
||||
<blockquote>
|
||||
<div><p>The italicized descriptions give a summary of the “full” description
|
||||
as can be found in the
|
||||
<a class="reference external" href="https://www.alsa-project.org/alsa-doc">ALSA documentation</a>.</p>
|
||||
<p><em>New in 0.9.1</em></p>
|
||||
</div></blockquote>
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.dumpinfo">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">dumpinfo</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.dumpinfo" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Dumps the PCM object’s configured parameters to stdout.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.pcmtype">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">pcmtype</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.pcmtype" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">pcmtype</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.pcmtype" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Returns the type of PCM object. Either <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_CAPTURE</span></code> or
|
||||
<code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_PLAYBACK</span></code>.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.pcmmode">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">pcmmode</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.pcmmode" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">pcmmode</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.pcmmode" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return the mode of the PCM object. One of <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_NONBLOCK</span></code>,
|
||||
<code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_ASYNC</span></code>, or <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_NORMAL</span></code></p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.cardname">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">cardname</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.cardname" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">cardname</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">string</span></span></span><a class="headerlink" href="#alsaaudio.PCM.cardname" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return the name of the sound card used by this PCM object.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.setchannels">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">setchannels</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">nchannels</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.setchannels" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">setchannels</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">nchannels</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.setchannels" title="Link to this definition">¶</a></dt>
|
||||
<dd><div class="deprecated">
|
||||
<p><span class="versionmodified deprecated">Deprecated since version 0.9: </span>Use the <cite>channels</cite> named argument to <a class="reference internal" href="#alsaaudio.PCM" title="alsaaudio.PCM"><code class="xref py py-func docutils literal notranslate"><span class="pre">PCM()</span></code></a>.</p>
|
||||
<p><span class="versionmodified deprecated">Deprecated since version 0.9: </span>Use the <cite>channels</cite> named argument to <code class="xref py py-func docutils literal notranslate"><span class="pre">PCM()</span></code>.</p>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.setrate">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">setrate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rate</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.setrate" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">setrate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.setrate" title="Link to this definition">¶</a></dt>
|
||||
<dd><div class="deprecated">
|
||||
<p><span class="versionmodified deprecated">Deprecated since version 0.9: </span>Use the <cite>rate</cite> named argument to <a class="reference internal" href="#alsaaudio.PCM" title="alsaaudio.PCM"><code class="xref py py-func docutils literal notranslate"><span class="pre">PCM()</span></code></a>.</p>
|
||||
<p><span class="versionmodified deprecated">Deprecated since version 0.9: </span>Use the <cite>rate</cite> named argument to <code class="xref py py-func docutils literal notranslate"><span class="pre">PCM()</span></code>.</p>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.setformat">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">setformat</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">format</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.setformat" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">setformat</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">format</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.setformat" title="Link to this definition">¶</a></dt>
|
||||
<dd><div class="deprecated">
|
||||
<p><span class="versionmodified deprecated">Deprecated since version 0.9: </span>Use the <cite>format</cite> named argument to <a class="reference internal" href="#alsaaudio.PCM" title="alsaaudio.PCM"><code class="xref py py-func docutils literal notranslate"><span class="pre">PCM()</span></code></a>.</p>
|
||||
<p><span class="versionmodified deprecated">Deprecated since version 0.9: </span>Use the <cite>format</cite> named argument to <code class="xref py py-func docutils literal notranslate"><span class="pre">PCM()</span></code>.</p>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.setperiodsize">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">setperiodsize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">period</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.setperiodsize" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">setperiodsize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">period</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.setperiodsize" title="Link to this definition">¶</a></dt>
|
||||
<dd><div class="deprecated">
|
||||
<p><span class="versionmodified deprecated">Deprecated since version 0.9: </span>Use the <cite>periodsize</cite> named argument to <a class="reference internal" href="#alsaaudio.PCM" title="alsaaudio.PCM"><code class="xref py py-func docutils literal notranslate"><span class="pre">PCM()</span></code></a>.</p>
|
||||
<p><span class="versionmodified deprecated">Deprecated since version 0.9: </span>Use the <cite>periodsize</cite> named argument to <code class="xref py py-func docutils literal notranslate"><span class="pre">PCM()</span></code>.</p>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="id0">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">info</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#id0" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Returns a dictionary with the PCM object’s configured parameters.</p>
|
||||
<p>Values are retrieved from the ALSA library if they are available;
|
||||
otherwise they represent those stored by pyalsaaudio, and their keys
|
||||
are prefixed with ‘ (call value) ‘.</p>
|
||||
<p><em>New in 0.9.1</em></p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.dumpinfo">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">dumpinfo</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.dumpinfo" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Dumps the PCM object’s configured parameters to stdout.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.state">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">state</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.state" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">state</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.state" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Returs the current state of the stream, which can be one of
|
||||
<code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_STATE_OPEN</span></code> (this should not actually happen),
|
||||
<code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_STATE_SETUP</span></code> (after <a class="reference internal" href="#alsaaudio.PCM.drop" title="alsaaudio.PCM.drop"><code class="xref py py-func docutils literal notranslate"><span class="pre">drop()</span></code></a> or <a class="reference internal" href="#alsaaudio.PCM.drain" title="alsaaudio.PCM.drain"><code class="xref py py-func docutils literal notranslate"><span class="pre">drain()</span></code></a>),
|
||||
@@ -494,9 +525,22 @@ are prefixed with ‘ (call value) ‘.</p>
|
||||
<p><em>New in 0.10</em></p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.avail">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">avail</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.avail" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>For <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_PLAYBACK</span></code> PCM objects, returns the number of writable
|
||||
(that is, free) frames in the buffer.</p>
|
||||
<p>For <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_CAPTURE</span></code> PCM objects, returns the number of readable
|
||||
(that is, filled) frames in the buffer.</p>
|
||||
<p>An attempt to read/write more frames than indicated will block (in
|
||||
<code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_NORMAL</span></code> mode) or fail and return zero (in
|
||||
<code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_NONBLOCK</span></code> mode).</p>
|
||||
<p><em>New in 0.11</em></p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.read">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">read</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.read" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">read</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#alsaaudio.PCM.read" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>In <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_NORMAL</span></code> mode, this function blocks until a full period is
|
||||
available, and then returns a tuple (length,data) where <em>length</em> is
|
||||
the number of frames of captured data, and <em>data</em> is the captured
|
||||
@@ -505,25 +549,35 @@ periodsize*framesize bytes.</p>
|
||||
<p>In <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_NONBLOCK</span></code> mode, the call will not block, but will return
|
||||
<code class="docutils literal notranslate"><span class="pre">(0,'')</span></code> if no new period has become available since the last
|
||||
call to read.</p>
|
||||
<p>In case of an overrun, this function will return a negative size: <code class="xref py py-const docutils literal notranslate"><span class="pre">-EPIPE</span></code>.
|
||||
This indicates that data was lost, even if the operation itself succeeded.
|
||||
Try using a larger periodsize.</p>
|
||||
<p>In case of a buffer overrun, this function will return the negative
|
||||
size <code class="xref py py-const docutils literal notranslate"><span class="pre">-EPIPE</span></code>, and no data is read.
|
||||
This indicates that data was lost. To resume capturing, just call read
|
||||
again, but note that the stream was already corrupted.
|
||||
To avoid the problem in the future, try using a larger period size
|
||||
and/or more periods, at the cost of higher latency.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.write">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">write</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.write" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">write</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bytes</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.write" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Writes (plays) the sound in data. The length of data <em>must</em> be a
|
||||
multiple of the frame size, and <em>should</em> be exactly the size of a
|
||||
period. If less than ‘period size’ frames are provided, the actual
|
||||
playout will not happen until more data is written.</p>
|
||||
<p>If the device is not in <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_NONBLOCK</span></code> mode, this call will block if
|
||||
the kernel buffer is full, and until enough sound has been played
|
||||
to allow the sound data to be buffered. The call always returns the
|
||||
size of the data provided.</p>
|
||||
<p>If the data was successfully written, the call returns the size of the
|
||||
data <em>in frames</em>.</p>
|
||||
<p>If the device is not in <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_NONBLOCK</span></code> mode, this call will block
|
||||
if the kernel buffer is full, and until enough sound has been played
|
||||
to allow the sound data to be buffered.</p>
|
||||
<p>In <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_NONBLOCK</span></code> mode, the call will return immediately, with a
|
||||
return value of zero, if the buffer is full. In this case, the data
|
||||
should be written at a later time.</p>
|
||||
should be written again at a later time.</p>
|
||||
<p>In case of a buffer underrun, this function will return the negative
|
||||
size <code class="xref py py-const docutils literal notranslate"><span class="pre">-EPIPE</span></code>, and no data is written.
|
||||
At this point, the playback was already corrupted. If you want to play
|
||||
the data nonetheless, call write again with the same data.
|
||||
To avoid the problem in the future, try using a larger period size
|
||||
and/or more periods, at the cost of higher latency.</p>
|
||||
<p>Note that this call completing means only that the samples were buffered
|
||||
in the kernel, and playout will continue afterwards. Make sure that the
|
||||
stream is drained before discarding the PCM handle.</p>
|
||||
@@ -531,21 +585,21 @@ stream is drained before discarding the PCM handle.</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.pause">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">pause</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="n"><span class="pre">enable=True</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.pause" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">pause</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="n"><span class="pre">enable:</span> <span class="pre">int</span> <span class="pre">=</span> <span class="pre">True</span></span></em><span class="optional">]</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.pause" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>If <em>enable</em> is <code class="xref py py-const docutils literal notranslate"><span class="pre">True</span></code>, playback or capture is paused.
|
||||
Otherwise, playback/capture is resumed.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.drop">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">drop</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.drop" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">drop</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.drop" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Stop the stream and drop residual buffered frames.</p>
|
||||
<p><em>New in 0.9</em></p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.drain">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">drain</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.drain" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">drain</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.drain" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>For <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_PLAYBACK</span></code> PCM objects, play residual buffered frames
|
||||
and then stop the stream. In <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_NORMAL</span></code> mode,
|
||||
this function blocks until all pending playback is drained.</p>
|
||||
@@ -555,7 +609,7 @@ this function blocks until all pending playback is drained.</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.close">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.close" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#alsaaudio.PCM.close" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Closes the PCM device.</p>
|
||||
<p>For <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_PLAYBACK</span></code> PCM objects in <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_NORMAL</span></code> mode,
|
||||
this function blocks until all pending playback is drained.</p>
|
||||
@@ -563,30 +617,40 @@ this function blocks until all pending playback is drained.</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.polldescriptors">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">polldescriptors</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.polldescriptors" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">polldescriptors</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#alsaaudio.PCM.polldescriptors" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Returns a list of tuples of <em>(file descriptor, eventmask)</em> that can be
|
||||
used to wait for changes on the PCM with <em>select.poll</em>.</p>
|
||||
<p>The <em>eventmask</em> value is compatible with <a href="#id3"><span class="problematic" id="id4">`poll.register`__</span></a> in the Python
|
||||
<p>The <em>eventmask</em> value is compatible with <a href="#id6"><span class="problematic" id="id7">`poll.register`__</span></a> in the Python
|
||||
<code class="xref py py-const docutils literal notranslate"><span class="pre">select</span></code> module.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.polldescriptors_revents">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">polldescriptors_revents</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">descriptors</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.polldescriptors_revents" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Processes the descriptor list returned by <a class="reference internal" href="#alsaaudio.PCM.polldescriptors" title="alsaaudio.PCM.polldescriptors"><code class="xref py py-func docutils literal notranslate"><span class="pre">polldescriptors()</span></code></a> after
|
||||
using it with <em>select.poll</em>, and returns a single <em>eventmask</em> value that
|
||||
is meaningful for deciding whether <a class="reference internal" href="#alsaaudio.PCM.read" title="alsaaudio.PCM.read"><code class="xref py py-func docutils literal notranslate"><span class="pre">read()</span></code></a> or <a class="reference internal" href="#alsaaudio.PCM.write" title="alsaaudio.PCM.write"><code class="xref py py-func docutils literal notranslate"><span class="pre">write()</span></code></a> should
|
||||
be called.</p>
|
||||
<p><em>New in 0.11</em></p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.set_tstamp_mode">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">set_tstamp_mode</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="n"><span class="pre">mode=PCM_TSTAMP_ENABLE</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.set_tstamp_mode" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">set_tstamp_mode</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="n"><span class="pre">mode:</span> <span class="pre">int</span> <span class="pre">=</span> <span class="pre">PCM_TSTAMP_ENABLE</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.set_tstamp_mode" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Set the ALSA timestamp mode on the device. The mode argument can be set to
|
||||
either <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_TSTAMP_NONE</span></code> or <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_TSTAMP_ENABLE</span></code>.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.get_tstamp_mode">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">get_tstamp_mode</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.get_tstamp_mode" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">get_tstamp_mode</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.get_tstamp_mode" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return the integer value corresponding to the ALSA timestamp mode. The
|
||||
return value can be either <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_TSTAMP_NONE</span></code> or <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_TSTAMP_ENABLE</span></code>.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.set_tstamp_type">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">set_tstamp_type</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="n"><span class="pre">type=PCM_TSTAMP_TYPE_GETTIMEOFDAY</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.set_tstamp_type" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">set_tstamp_type</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="n"><span class="pre">type:</span> <span class="pre">int</span> <span class="pre">=</span> <span class="pre">PCM_TSTAMP_TYPE_GETTIMEOFDAY</span></span></em><span class="optional">]</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#alsaaudio.PCM.set_tstamp_type" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Set the ALSA timestamp mode on the device. The type argument
|
||||
can be set to either <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_TSTAMP_TYPE_GETTIMEOFDAY</span></code>,
|
||||
<code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_TSTAMP_TYPE_MONOTONIC</span></code> or <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_TSTAMP_TYPE_MONOTONIC_RAW</span></code>.</p>
|
||||
@@ -594,7 +658,7 @@ can be set to either <code class="xref py py-const docutils literal notranslate"
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.get_tstamp_type">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">get_tstamp_type</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.get_tstamp_type" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">get_tstamp_type</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.PCM.get_tstamp_type" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return the integer value corresponding to the ALSA timestamp type. The
|
||||
return value can be either <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_TSTAMP_TYPE_GETTIMEOFDAY</span></code>,
|
||||
<code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_TSTAMP_TYPE_MONOTONIC</span></code> or <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_TSTAMP_TYPE_MONOTONIC_RAW</span></code>.</p>
|
||||
@@ -602,7 +666,7 @@ return value can be either <code class="xref py py-const docutils literal notran
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.PCM.htimestamp">
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">htimestamp</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.PCM.htimestamp" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">PCM.</span></span><span class="sig-name descname"><span class="pre">htimestamp</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#alsaaudio.PCM.htimestamp" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return a Python tuple <em>(seconds, nanoseconds, frames_available_in_buffer)</em>.</p>
|
||||
<p>The type of output is controlled by the tstamp_type, as described in the table below.</p>
|
||||
<table class="docutils align-default">
|
||||
@@ -649,7 +713,7 @@ update.</p></td>
|
||||
<p>The most common reason for problems with playback of PCM audio is that writes
|
||||
to PCM devices must <em>exactly</em> match the data rate of the device.</p>
|
||||
<p>If too little data is written to the device, it will underrun, and
|
||||
ugly clicking sounds will occur. Conversely, of too much data is
|
||||
ugly clicking sounds will occur. Conversely, if too much data is
|
||||
written to the device, the write function will either block
|
||||
(<code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_NORMAL</span></code> mode) or return zero (<code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_NONBLOCK</span></code> mode).</p>
|
||||
<p>If your program does nothing but play sound, the best strategy is to put the
|
||||
@@ -668,11 +732,11 @@ accumulate to quite a lot after a few seconds. Hint: use time.time()
|
||||
to check how much time has really passed, and add extra writes as nessecary.</p>
|
||||
</section>
|
||||
<section id="mixer-objects">
|
||||
<span id="id2"></span><h2>Mixer Objects<a class="headerlink" href="#mixer-objects" title="Permalink to this heading">¶</a></h2>
|
||||
<span id="id5"></span><h2>Mixer Objects<a class="headerlink" href="#mixer-objects" title="Link to this heading">¶</a></h2>
|
||||
<p>Mixer objects provides access to the ALSA mixer API.</p>
|
||||
<dl class="py class">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer">
|
||||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">alsaaudio.</span></span><span class="sig-name descname"><span class="pre">Mixer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">control</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Master'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cardindex</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'default'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer" title="Permalink to this definition">¶</a></dt>
|
||||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">alsaaudio.</span></span><span class="sig-name descname"><span class="pre">Mixer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">control</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Master'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cardindex</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">-1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'default'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#alsaaudio.Mixer" title="alsaaudio.Mixer"><span class="pre">Mixer</span></a></span></span><a class="headerlink" href="#alsaaudio.Mixer" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Arguments are:</p>
|
||||
<ul class="simple">
|
||||
<li><p><em>control</em> - specifies which control to manipulate using this mixer
|
||||
@@ -698,26 +762,26 @@ devices.</p></li>
|
||||
<p>Mixer objects have the following methods:</p>
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.cardname">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">cardname</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.cardname" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">cardname</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="headerlink" href="#alsaaudio.Mixer.cardname" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return the name of the sound card used by this Mixer object</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.mixer">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">mixer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.mixer" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">mixer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="headerlink" href="#alsaaudio.Mixer.mixer" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return the name of the specific mixer controlled by this object, For example
|
||||
<code class="docutils literal notranslate"><span class="pre">'Master'</span></code> or <code class="docutils literal notranslate"><span class="pre">'PCM'</span></code></p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.mixerid">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">mixerid</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.mixerid" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">mixerid</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.Mixer.mixerid" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return the ID of the ALSA mixer controlled by this object.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.switchcap">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">switchcap</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.switchcap" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">switchcap</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.Mixer.switchcap" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Returns a list of the switches which are defined by this specific mixer.
|
||||
Possible values in this list are:</p>
|
||||
<table class="docutils align-default">
|
||||
@@ -756,7 +820,7 @@ Possible values in this list are:</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.volumecap">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">volumecap</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.volumecap" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">volumecap</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.Mixer.volumecap" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Returns a list of the volume control capabilities of this
|
||||
mixer. Possible values in the list are:</p>
|
||||
<table class="docutils align-default">
|
||||
@@ -790,7 +854,7 @@ mixer. Possible values in the list are:</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.getenum">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">getenum</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.getenum" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">getenum</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#alsaaudio.Mixer.getenum" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>For enumerated controls, return the currently selected item and the list of
|
||||
items available.</p>
|
||||
<p>Returns a tuple <em>(string, list of strings)</em>.</p>
|
||||
@@ -816,7 +880,7 @@ control.</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.setenum">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">setenum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.setenum" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">setenum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#alsaaudio.Mixer.setenum" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>For enumerated controls, sets the currently selected item.
|
||||
<em>index</em> is an index into the list of available enumerated items returned
|
||||
by <a class="reference internal" href="#alsaaudio.Mixer.getenum" title="alsaaudio.Mixer.getenum"><code class="xref py py-func docutils literal notranslate"><span class="pre">getenum()</span></code></a>.</p>
|
||||
@@ -824,7 +888,7 @@ by <a class="reference internal" href="#alsaaudio.Mixer.getenum" title="alsaaudi
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.getrange">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">getrange</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pcmtype</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">PCM_PLAYBACK</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">units</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">VOLUME_UNITS_RAW</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.getrange" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">getrange</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pcmtype</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">PCM_PLAYBACK</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">units</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">VOLUME_UNITS_RAW</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#alsaaudio.Mixer.getrange" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return the volume range of the ALSA mixer controlled by this object.
|
||||
The value is a tuple of integers whose meaning is determined by the
|
||||
<em>units</em> argument.</p>
|
||||
@@ -838,7 +902,7 @@ if the mixer has playback channels, otherwise it is <code class="xref py py-cons
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.getvolume">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">getvolume</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pcmtype</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">PCM_PLAYBACK</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">units</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">VOLUME_UNITS_PERCENTAGE</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.getvolume" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">getvolume</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pcmtype</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">PCM_PLAYBACK</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">units</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">VOLUME_UNITS_PERCENTAGE</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.Mixer.getvolume" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Returns a list with the current volume settings for each channel. The list
|
||||
elements are integers whose meaning is determined by the <em>units</em> argument.</p>
|
||||
<p>The optional <em>pcmtype</em> argument can be either <code class="xref py py-const docutils literal notranslate"><span class="pre">PCM_PLAYBACK</span></code> or
|
||||
@@ -851,7 +915,7 @@ if the mixer has playback channels, otherwise it is <code class="xref py py-cons
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.setvolume">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">setvolume</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">volume</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channel</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcmtype</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">PCM_PLAYBACK</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">units</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">VOLUME_UNITS_PERCENTAGE</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.setvolume" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">setvolume</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">volume</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcmtype</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">PCM_PLAYBACK</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">units</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">VOLUME_UNITS_PERCENTAGE</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channel</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#alsaaudio.Mixer.setvolume" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Change the current volume settings for this mixer. The <em>volume</em> argument
|
||||
is an integer whose meaning is determined by the <em>units</em> argument.</p>
|
||||
<p>If the optional argument <em>channel</em> is present, the volume is set
|
||||
@@ -867,7 +931,7 @@ if the mixer has playback channels, otherwise it is <code class="xref py py-cons
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.getmute">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">getmute</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.getmute" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">getmute</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#alsaaudio.Mixer.getmute" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return a list indicating the current mute setting for each channel.
|
||||
0 means not muted, 1 means muted.</p>
|
||||
<p>This method will fail if the mixer has no playback switch capabilities.</p>
|
||||
@@ -875,7 +939,7 @@ if the mixer has playback channels, otherwise it is <code class="xref py py-cons
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.setmute">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">setmute</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mute</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">channel</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.setmute" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">setmute</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mute</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channel</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#alsaaudio.Mixer.setmute" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Sets the mute flag to a new value. The <em>mute</em> argument is either 0 for not
|
||||
muted, or 1 for muted.</p>
|
||||
<p>The optional <em>channel</em> argument controls which channel is
|
||||
@@ -885,7 +949,7 @@ muted. The default is to set the mute flag for all channels.</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.getrec">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">getrec</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.getrec" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">getrec</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#alsaaudio.Mixer.getrec" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return a list indicating the current record mute setting for each channel.
|
||||
0 means not recording, 1 means recording.</p>
|
||||
<p>This method will fail if the mixer has no capture switch capabilities.</p>
|
||||
@@ -893,7 +957,7 @@ muted. The default is to set the mute flag for all channels.</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.setrec">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">setrec</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">capture</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">channel</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.setrec" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">setrec</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">capture</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channel</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#alsaaudio.Mixer.setrec" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Sets the capture mute flag to a new value. The <em>capture</em> argument
|
||||
is either 0 for no capture, or 1 for capture.</p>
|
||||
<p>The optional <em>channel</em> argument controls which channel is
|
||||
@@ -903,16 +967,16 @@ changed. The default is to set the capture flag for all channels.</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.polldescriptors">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">polldescriptors</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.polldescriptors" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">polldescriptors</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#alsaaudio.Mixer.polldescriptors" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Returns a list of tuples of <em>(file descriptor, eventmask)</em> that can be
|
||||
used to wait for changes on the mixer with <em>select.poll</em>.</p>
|
||||
<p>The <em>eventmask</em> value is compatible with <a href="#id3"><span class="problematic" id="id5">`poll.register`__</span></a> in the Python
|
||||
<p>The <em>eventmask</em> value is compatible with <a href="#id6"><span class="problematic" id="id8">`poll.register`__</span></a> in the Python
|
||||
<code class="xref py py-const docutils literal notranslate"><span class="pre">select</span></code> module.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.handleevents">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">handleevents</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.handleevents" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">handleevents</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#alsaaudio.Mixer.handleevents" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Acknowledge events on the <a class="reference internal" href="#alsaaudio.Mixer.polldescriptors" title="alsaaudio.Mixer.polldescriptors"><code class="xref py py-func docutils literal notranslate"><span class="pre">polldescriptors()</span></code></a> file descriptors
|
||||
to prevent subsequent polls from returning the same events again.
|
||||
Returns the number of events that were acknowledged.</p>
|
||||
@@ -920,7 +984,7 @@ Returns the number of events that were acknowledged.</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="alsaaudio.Mixer.close">
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#alsaaudio.Mixer.close" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">Mixer.</span></span><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#alsaaudio.Mixer.close" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Closes the Mixer device.</p>
|
||||
</dd></dl>
|
||||
|
||||
@@ -943,7 +1007,7 @@ understand half of the API, and that which I do understand has come from a
|
||||
painful trial and error process.</p>
|
||||
</section>
|
||||
<section id="examples">
|
||||
<span id="pcm-example"></span><h2>Examples<a class="headerlink" href="#examples" title="Permalink to this heading">¶</a></h2>
|
||||
<span id="pcm-example"></span><h2>Examples<a class="headerlink" href="#examples" title="Link to this heading">¶</a></h2>
|
||||
<p>The following example are provided:</p>
|
||||
<ul class="simple">
|
||||
<li><p><cite>playwav.py</cite></p></li>
|
||||
@@ -967,7 +1031,7 @@ painful trial and error process.</p>
|
||||
<p>mixertest.py accepts the commandline options <em>-d <device></em> and
|
||||
<em>-c <cardindex></em>.</p>
|
||||
<section id="playwav-py">
|
||||
<h3>playwav.py<a class="headerlink" href="#playwav-py" title="Permalink to this heading">¶</a></h3>
|
||||
<h3>playwav.py<a class="headerlink" href="#playwav-py" title="Link to this heading">¶</a></h3>
|
||||
<p><strong>playwav.py</strong> plays a wav file.</p>
|
||||
<p>To test PCM playback (on your default soundcard), run:</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ python playwav.py <wav file>
|
||||
@@ -975,7 +1039,7 @@ painful trial and error process.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="recordtest-py-and-playbacktest-py">
|
||||
<h3>recordtest.py and playbacktest.py<a class="headerlink" href="#recordtest-py-and-playbacktest-py" title="Permalink to this heading">¶</a></h3>
|
||||
<h3>recordtest.py and playbacktest.py<a class="headerlink" href="#recordtest-py-and-playbacktest-py" title="Link to this heading">¶</a></h3>
|
||||
<p><strong>recordtest.py</strong> and <strong>playbacktest.py</strong> will record and play a raw
|
||||
sound file in CD quality.</p>
|
||||
<p>To test PCM recordings (on your default soundcard), run:</p>
|
||||
@@ -990,7 +1054,7 @@ with <code class="docutils literal notranslate"><span class="pre">Ctl-C</span></
|
||||
</div>
|
||||
</section>
|
||||
<section id="mixertest-py">
|
||||
<h3>mixertest.py<a class="headerlink" href="#mixertest-py" title="Permalink to this heading">¶</a></h3>
|
||||
<h3>mixertest.py<a class="headerlink" href="#mixertest-py" title="Link to this heading">¶</a></h3>
|
||||
<p>Without arguments, <strong>mixertest.py</strong> will list all available <em>controls</em> on the
|
||||
default soundcard.</p>
|
||||
<p>The output might look like this:</p>
|
||||
@@ -1052,36 +1116,75 @@ Channel 1 volume: 61%
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="index.html">alsaaudio documentation</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="pyalsaaudio.html">Introduction</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="pyalsaaudio.html#what-is-alsa">What is ALSA</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="pyalsaaudio.html#installation">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="pyalsaaudio.html#testing">Testing</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="terminology.html">PCM Terminology and Concepts</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">alsaaudio</span></code></a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#alsaaudio.pcms"><code class="docutils literal notranslate"><span class="pre">pcms()</span></code></a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#alsaaudio.cards"><code class="docutils literal notranslate"><span class="pre">cards()</span></code></a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#alsaaudio.mixers"><code class="docutils literal notranslate"><span class="pre">mixers()</span></code></a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#alsaaudio.asoundlib_version"><code class="docutils literal notranslate"><span class="pre">asoundlib_version()</span></code></a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#pcm-objects">PCM Objects</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#mixer-objects">Mixer Objects</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#examples">Examples</a></li>
|
||||
<div>
|
||||
<h3><a href="index.html">Table of Contents</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">alsaaudio</span></code></a><ul>
|
||||
<li><a class="reference internal" href="#alsaaudio.pcms"><code class="docutils literal notranslate"><span class="pre">pcms()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.cards"><code class="docutils literal notranslate"><span class="pre">cards()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.mixers"><code class="docutils literal notranslate"><span class="pre">mixers()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.asoundlib_version"><code class="docutils literal notranslate"><span class="pre">asoundlib_version()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#pcm-objects">PCM Objects</a><ul>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.info"><code class="docutils literal notranslate"><span class="pre">PCM.info()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.dumpinfo"><code class="docutils literal notranslate"><span class="pre">PCM.dumpinfo()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.pcmtype"><code class="docutils literal notranslate"><span class="pre">PCM.pcmtype()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.pcmmode"><code class="docutils literal notranslate"><span class="pre">PCM.pcmmode()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.cardname"><code class="docutils literal notranslate"><span class="pre">PCM.cardname()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.setchannels"><code class="docutils literal notranslate"><span class="pre">PCM.setchannels()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.setrate"><code class="docutils literal notranslate"><span class="pre">PCM.setrate()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.setformat"><code class="docutils literal notranslate"><span class="pre">PCM.setformat()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.setperiodsize"><code class="docutils literal notranslate"><span class="pre">PCM.setperiodsize()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.state"><code class="docutils literal notranslate"><span class="pre">PCM.state()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.avail"><code class="docutils literal notranslate"><span class="pre">PCM.avail()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.read"><code class="docutils literal notranslate"><span class="pre">PCM.read()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.write"><code class="docutils literal notranslate"><span class="pre">PCM.write()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.pause"><code class="docutils literal notranslate"><span class="pre">PCM.pause()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.drop"><code class="docutils literal notranslate"><span class="pre">PCM.drop()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.drain"><code class="docutils literal notranslate"><span class="pre">PCM.drain()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.close"><code class="docutils literal notranslate"><span class="pre">PCM.close()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.polldescriptors"><code class="docutils literal notranslate"><span class="pre">PCM.polldescriptors()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.polldescriptors_revents"><code class="docutils literal notranslate"><span class="pre">PCM.polldescriptors_revents()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.set_tstamp_mode"><code class="docutils literal notranslate"><span class="pre">PCM.set_tstamp_mode()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.get_tstamp_mode"><code class="docutils literal notranslate"><span class="pre">PCM.get_tstamp_mode()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.set_tstamp_type"><code class="docutils literal notranslate"><span class="pre">PCM.set_tstamp_type()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.get_tstamp_type"><code class="docutils literal notranslate"><span class="pre">PCM.get_tstamp_type()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.PCM.htimestamp"><code class="docutils literal notranslate"><span class="pre">PCM.htimestamp()</span></code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#mixer-objects">Mixer Objects</a><ul>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer"><code class="docutils literal notranslate"><span class="pre">Mixer</span></code></a><ul>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.cardname"><code class="docutils literal notranslate"><span class="pre">Mixer.cardname()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.mixer"><code class="docutils literal notranslate"><span class="pre">Mixer.mixer()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.mixerid"><code class="docutils literal notranslate"><span class="pre">Mixer.mixerid()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.switchcap"><code class="docutils literal notranslate"><span class="pre">Mixer.switchcap()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.volumecap"><code class="docutils literal notranslate"><span class="pre">Mixer.volumecap()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.getenum"><code class="docutils literal notranslate"><span class="pre">Mixer.getenum()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.setenum"><code class="docutils literal notranslate"><span class="pre">Mixer.setenum()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.getrange"><code class="docutils literal notranslate"><span class="pre">Mixer.getrange()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.getvolume"><code class="docutils literal notranslate"><span class="pre">Mixer.getvolume()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.setvolume"><code class="docutils literal notranslate"><span class="pre">Mixer.setvolume()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.getmute"><code class="docutils literal notranslate"><span class="pre">Mixer.getmute()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.setmute"><code class="docutils literal notranslate"><span class="pre">Mixer.setmute()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.getrec"><code class="docutils literal notranslate"><span class="pre">Mixer.getrec()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.setrec"><code class="docutils literal notranslate"><span class="pre">Mixer.setrec()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.polldescriptors"><code class="docutils literal notranslate"><span class="pre">Mixer.polldescriptors()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.handleevents"><code class="docutils literal notranslate"><span class="pre">Mixer.handleevents()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#alsaaudio.Mixer.close"><code class="docutils literal notranslate"><span class="pre">Mixer.close()</span></code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#examples">Examples</a><ul>
|
||||
<li><a class="reference internal" href="#playwav-py">playwav.py</a></li>
|
||||
<li><a class="reference internal" href="#recordtest-py-and-playbacktest-py">recordtest.py and playbacktest.py</a></li>
|
||||
<li><a class="reference internal" href="#mixertest-py">mixertest.py</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
</div><div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="index.html">Documentation overview</a><ul>
|
||||
@@ -1089,7 +1192,14 @@ Channel 1 volume: 61%
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<div role="note" aria-label="source link">
|
||||
<h3>This Page</h3>
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="_sources/libalsaaudio.rst.txt"
|
||||
rel="nofollow">Show Source</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<search id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="search.html" method="get">
|
||||
@@ -1097,16 +1207,8 @@ Channel 1 volume: 61%
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</search>
|
||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
@@ -1115,8 +1217,8 @@ Channel 1 volume: 61%
|
||||
©2017, Lars Immisch & Casper Wilstrup.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.13</a>
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 7.3.7</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="_sources/libalsaaudio.rst.txt"
|
||||
|
||||
Reference in New Issue
Block a user