当我们有活动的 (HFP) 蓝牙 SCO 连接时强制 Android A2DP 配置文件工作

Forcing Android A2DP profile to work when we have an active (HFP) Bluetooth SCO connection

因为我们可以连接两个具有不同连接类型的蓝牙设备 Phone 音频和音乐音频(即分别为 HFP 配置文件和 A2DP 配置文件)。 两个设备同时连接,但 HPF 优先于 A2DP,这意味着当我有一个活动的 SCO 连接(或语音呼叫)时,A2DP 停止工作。我希望他们都同时工作。 我想从 HFP 设备获取音频并在 A2DP 设备上播放。 即使需要编写 NDK 代码,也想了解一些变通方法。

我努力尝试但没有找到任何可扩展的解决方案,但是改变硬件的蓝牙配置文件已经完全解决了我的问题。

我使用了蓝牙 (BLE) 的 GATT 配置文件并将音频数据包从自定义硬件传输到 android phone 并编写了我自己的逻辑来对其进行解码。这行得通,现在我可以连接许多设备并将获取的音频也发送到 a2dp 设备。

注意:此解决方案仍然存在一些延迟问题,但这是另一个需要解决的问题。