blob: 240f4ea91df8defcb07b69aec3fb3645f683013c [file] [log] [blame]
Robert Ly35f2fda2013-01-29 16:27:05 -08001page.title=Building Audio Accessories
2@jd:body
3
4<!--
Clay Murphy768b82a2013-11-12 11:32:41 -08005 Copyright 2013 The Android Open Source Project
Robert Ly35f2fda2013-01-29 16:27:05 -08006
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18-->
19<p>In building an audio accessory, such as an audio dock or other playback device, you should
20consider how your accessory will connect with Android devices. In particular, you should decide
21if your accessory will use Universal Serial Bus (USB) or a Bluetooth connection to stream music or
22other audio content.</p>
23<h2 id="audio-over-usb">Audio over USB</h2>
24<p>An accessory that connects with Android over USB connection must use the Android Open
25Accessory (AOA) protocol version 2.0. This version of the AOA protocol is supported on Android 4.1
26(API Level 16) and higher. Once an Android device connects to an accessory that supports this
27protocol, the Android system treats it as a standard audio output device and routes all audio to
28that accessory. No secondary software application is required on the Android device.</p>
29<p><strong>Note:</strong> Due to the low power output of Android devices, the Android Open Accessory
30Protocol requires that accessories act as a USB host, which means that the connecting accessory
31must power the bus.</p>
32<h3 id="next-steps">Next steps</h3>
33<p>To get started on building an audio accessory that uses a USB connection:</p>
34<ul>
35<li>Select a hardware platform or build a hardware device that can support USB host mode.</li>
36<li>Review the <a href="{@docRoot}accessories/aoa2.html">AOA 2.0 protocol</a> specification to understand
37 how to implement this protocol on your accessory hardware.</li>
38<li>Review the ADK 2012 <a href="http://developer.android.com/tools/adk/adk2.html#src-download">firmware source code</a>
39 (<code>&lt;adk-src&gt;/adk2012/board/library/ADK2/</code>), which includes an example implementation
40 of an audio playback accessory using a USB connection.</li>
41</ul>
42<p><strong>Note:</strong> The AOA 2.0 protocol also supports the
43<a href="{@docRoot}accessories/aoa2.html#hid-support">human interface device</a> (HID) protocol through a USB
44connection, enabling accessories such as audio docks to provide hardware play back controls such
45as pause, fast-forward or volume buttons.</p>
46<h2 id="audio-over-bluetooth">Audio over Bluetooth</h2>
47<p>An accessory that connects with Android over Bluetooth can use an Advanced Audio Distribution
48Profile (A2DP) connection stream music for playback. Playing audio over a Bluetooth with A2DP is
49supported on Android 1.5 (API Level 3) and higher. An Android user can connect to an accessory
50that supports this profile using the system Settings &gt; Bluetooth and play music directly to the
51accessory without the need for a secondary application.</p>
52<p><strong>Note:</strong> If you want to provide a custom application for output to your audio
53accessory, note that the Android 3.0 (API Level 11) allows applications to operate an A2DP
54connection using the
55<a href="http://developer.android.com/reference/android/bluetooth/BluetoothA2dp.html"><code>BluetoothA2dp</code></a>
56class.</p>
57<h3 id="next-steps_1">Next steps</h3>
58<p>To get started on building an audio accessory that uses a Bluetooth connection:</p>
59<ul>
60<li>Select a hardware platform or build an hardware device that can support Bluetooth
61 communications and the A2DP connection profile.</li>
62<li>Review the ADK 2012
63 <a href="http://developer.android.com/tools/adk/adk2.html#src-download">firmware source code</a>
64 (<code>&lt;adk-src&gt;/adk2012/board/library/ADK2/</code>), which includes an example implementation
65 of an audio playback accessory using a Bluetooth connection.</li>
66</ul>
67<p><strong>Note:</strong> The ADK 2012 source code includes an open source Bluetooth stack that
68is built for the Texas Instruments CC2564 chip, but can work with any Bluetooth chip that
69implements a standard Host/Controller Interface (HCI).</p>
70