在外部蓝牙设备和 Android phone 之间传输音频

Streaming audio between external bluetooth device and Android phone

我正在考虑构建一个 Android 应用程序,允许通过蓝牙在 Android phone 之间传输音频流。我以前在 Whosebug 上读过类似的问题,根据我的理解,A2DP 不能用作 Android 不能成为 A2DP 接收器。

理论上,我认为 HFP 或 HFP AG 等配置文件应该允许双向音频流。在 Android API 中,有没有办法强制蓝牙配对遵循此配置文件,或者 OS 决定使用哪个配置文件(例如仅在有 phone 通话中)?

我已经能够使用基于 RFCOMM 的 SPP 实现我想要的。为了将音频发送到外部设备,我使用 AudioRecord API 录制 PCM-16 音频以通过蓝牙实时传输音频。为了接收音频,我生成了一个线程,负责使用 AudioTrack API(在流模式下)

将音频输出到扬声器