自 2025 年 3 月 27 日起,我们建议您使用 android-latest-release
而非 aosp-main
构建 AOSP 并为其做出贡献。如需了解详情,请参阅 AOSP 的变更。
构建音频配件
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
在实现耳机、头戴式耳机放大器、麦克风、DAC/ADC 或基座等音频配件时,请考虑配件连接到 Android 设备的方式。以下部分将介绍 3.5 毫米有线耳机连接、通用串行总线 (USB) 连接和用于流式传输音乐或其他音频内容的蓝牙连接。
通过 3.5 毫米耳机接口传输音频
许多 Android 设备都配有 3.5 毫米(“迷你”)耳机接口。除了传统的立体声输出和单声道输入功能,3.5 毫米耳机规格还定义了标准阻抗和用来支持各种 Android 设备和耳机之间互操作性的功能。
通过 USB 传输音频
Android 可以在多种模式下使用 USB:
- 开发。不支持音频。
- 配件。由 Android 开放配件 (AOA) 2.0 提供,并提供有限的音频功能,如通过 USB 连接自定义音频中所述。
- 主机。使 Android 设备能够驱动 USB 总线,并且可以使用各种 USB 外设(包括音频接口)。实现主机模式的设备将与符合 USB 耳机规格的 USB 耳机兼容。如需了解主机模式音频,请参阅 USB 数字音频。
通过蓝牙传输音频
通过蓝牙连接 Android 的配件可以使用高级音频传输配置文件 (A2DP) 连接流式传输音乐,以便进行播放。在 Android 1.5(API 3 级)和更高版本上支持使用 A2DP 通过蓝牙播放音频。Android 用户可以使用系统“设置”>“蓝牙”,连接到支持此配置文件的配件,然后直接向该配件播放音乐,而不必使用辅助应用。
从 Android 3.0(API 级别 11)开始,应用可以使用 BluetoothA2dp
类来运行 A2DP 连接。如需提供自定义应用来输出到音频配件,您必须使用 Android 3.0 或更高版本。
后续步骤
如需开始构建使用蓝牙连接的音频配件,请执行以下操作:
- 选择可支持蓝牙通信和 A2DP 连接配置文件的硬件平台或构建此类硬件设备。
- 查看 ADK 2012 固件源代码 (
<adk-src>/adk2012/board/library/ADK2/
),其中包括使用蓝牙连接的音频播放配件的实现示例。
注意:ADK 2012 源代码包括为 Texas Instruments CC2564 芯片构建的开放源代码蓝牙堆栈,但其目的是与任何实现标准主机/控制器接口 (HCI) 的蓝牙芯片配合使用。
通过 USB 和蓝牙 LE 传输 MIDI
USB 和蓝牙低功耗连接都可以用于传输 MIDI 协议。如需了解详情,请参阅 MIDI。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-27。
[null,null,["最后更新时间 (UTC):2025-07-27。"],[],[],null,["# Build audio accessories\n\nWhen implementing an audio accessory such as a headset, headphone amplifier,\nmicrophone, DAC/ADC, or dock, consider how the accessory connects to Android\ndevices. The following sections describe wired 3.5 mm headset connections,\nUniversal Serial Bus (USB) connections, and Bluetooth connections for streaming\nmusic or other audio content.\n\nAudio over 3.5 mm headset connector\n-----------------------------------\n\nMany Android devices include a 3.5 mm (\"mini\") headset connector.\nIn addition to traditional stereo output and mono input features, the\n[3.5 mm headset specification](/docs/core/interaction/accessories/headset/plug-headset-spec)\ndefines standard impedances and functions that enable interoperability between\na range of Android devices and headsets.\n\nAudio over USB\n--------------\n\nAndroid can use USB in several modes:\n\n- **Development**. Does not support audio.\n- **Accessory** . Provided by Android Open Accessory (AOA) 2.0 and provides limited audio capability, as described in [Connecting custom audio over USB](/docs/core/interaction/accessories/custom#audio-over-usb).\n- **Host** . Enables the Android device to drive the USB bus and operate with a wide range of USB-based peripherals, including audio interfaces. Devices that implement host mode will be compatible with USB headsets that follow the [USB\n headset specification](/docs/core/interaction/accessories/headset/usb-headset-spec). Host mode audio is described in [USB digital audio](/docs/core/audio/usb).\n\nAudio over Bluetooth\n--------------------\n\nAn accessory that connects with Android over Bluetooth can use an Advanced\nAudio Distribution Profile (A2DP) connection to stream music for playback. Playing\naudio over Bluetooth with A2DP is supported on Android 1.5 (API Level 3) and\nhigher. An Android user can connect to an accessory that supports this profile\nusing the system Settings \\\u003e Bluetooth and play music directly to the\naccessory without a secondary application.\n\nAs of Android 3.0 (API Level 11), applications can operate an A2DP connection\nusing the\n[`BluetoothA2dp`](http://developer.android.com/reference/android/bluetooth/BluetoothA2dp.html) class. To provide a custom application for\noutput to an audio accessory, you must use Android 3.0 or higher.\n\n### Next steps\n\nTo get started building an audio accessory that uses a Bluetooth connection:\n\n- Select a hardware platform or build a hardware device that can support Bluetooth communications and the A2DP connection profile.\n- Review the ADK 2012 [firmware\n source code](http://developer.android.com/tools/adk/adk2.html#src-download) (`\u003cadk-src\u003e/adk2012/board/library/ADK2/`), which includes an example implementation of an audio playback accessory using a Bluetooth connection.\n\n**Note:** The ADK 2012 source code includes an open\nsource Bluetooth stack built for the Texas Instruments CC2564 chip, but is\ndesigned to work with any Bluetooth chip that implements a standard\nHost/Controller Interface (HCI).\n\nMIDI over USB and Bluetooth LE\n------------------------------\n\nBoth USB and Bluetooth Low Energy can be used as transports for the\n[MIDI](http://en.wikipedia.org/wiki/MIDI) protocol. For details, see\n[MIDI](/docs/core/audio/midi)."]]