page.title=Audio
@jd:body

<!--
    Copyright 2015 The Android Open Source Project

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->

<img style="float: right; margin: 0px 15px 15px 15px;"
src="images/ape_fwk_hal_audio.png" alt="Android Audio HAL icon"/>

<p>
Android's audio Hardware Abstraction Layer (HAL) connects the higher-level,
audio-specific framework APIs in <a href="http://developer.android.com/reference/android/media/package-summary.html">android.media</a> to the underlying audio driver and
hardware. This section includes implementation instructions and tips for
improving performance.
</p>

<h2 id="Architecture">Audio Architecture</h2>
<p>
Android audio architecture defines how audio functionality is implemented and
points to the relevant source code involved in the implementation.
</p>

<img src="images/ape_fwk_audio.png" alt="Audio architecture" id="figure1" />

<p class="img-caption">
<strong>Figure 1.</strong> Android audio architecture
</p>

<dl>

<dt>
Application framework
</dt>
<dd>
The application framework includes the app code, which uses the <a href="http://developer.android.com/reference/android/media/package-summary.html">android.media</a> APIs to
interact with audio hardware. Internally, this code calls corresponding JNI glue
classes to access the native code that interacts with audio hardware.
</dd>

<dt>
JNI
</dt>
<dd>
The JNI code associated with <a href="http://developer.android.com/reference/android/media/package-summary.html">android.media</a> calls lower level native code to access audio
hardware. JNI is located in <code>frameworks/base/core/jni/</code> and
<code>frameworks/base/media/jni</code>.
</dd>

<dt>
Native framework
</dt>
<dd>
The native framework provides a native equivalent to the <a href="http://developer.android.com/reference/android/media/package-summary.html">android.media</a> package, calling
Binder IPC proxies to access the audio-specific services of the media server.
Native framework code is located in <code>frameworks/av/media/libmedia</code>.
</dd>

<dt>
Binder IPC
</dt>
<dd>
Binder IPC proxies facilitate communication over process boundaries. Proxies are
located in <code>frameworks/av/media/libmedia</code> and begin with the letter
"I".
</dd>

<dt>
Media server
</dt>
<dd>
The media server contains audio services, which are the actual code that
interacts with your HAL implementations. The media server is located in
<code>frameworks/av/services/audioflinger</code>.
</dd>

<dt>
HAL
</dt>
<dd>
The HAL defines the standard interface that audio services call into and that
you must implement for your audio hardware to function correctly. The audio HAL
interfaces are located in <code>hardware/libhardware/include/hardware</code>.
For details, see <a
href="{@docRoot}devices/halref/audio_8h_source.html">hardware/audio.h</a>.
</dd>

<dt>
Kernel driver
</dt>
<dd>
The audio driver interacts with your hardware and HAL implementation. You can
use Advanced Linux Sound Architecture (ALSA), Open Sound System (OSS), or a
custom driver (HAL is driver-agnostic).
<p class="note"><strong>Note</strong>: If you use ALSA, we recommend
<code>external/tinyalsa</code> for the user portion of the driver because of its
compatible licensing (the standard user-mode library is GPL-licensed).</p>
</dd>

<dt>
Android native audio based on Open SL ES <em>(not shown)</em>
</dt>
<dd>
This API is exposed as part of
<a href="https://developer.android.com/tools/sdk/ndk/index.html">Android NDK</a>
and is at the same architecture level as
<a href="http://developer.android.com/reference/android/media/package-summary.html">android.media</a>.
</dd>

</dl>
