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

Avi*_*shi 5 android android-ndk a2dp android-audiorecord hfp

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

Avi*_*shi 2

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

我使用了蓝牙 (BLE) 的 GATT 配置文件,并将音频数据包从自定义硬件传输到 Android 手机,并编写了自己的逻辑来解码它。这很有效,现在我可以连接许多设备,也可以将获取的音频发送到 a2dp 设备。

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