iOS AVAudioSession:如何检测何时从 A2DP 切换到 HFP 并返回?

问题描述

我已经尝试了很长时间来解决这个问题,但我从来没有真正找到过。

我的应用通过蓝牙连接到立体声装置(在汽车中)并向用户播放一些声音反馈。 AVSessionCategory 设置为 .Playback 并且选项 .allowBluetoothA2DP 也设置。当我将汽车音响切换到 FM 收音机模式时,我的应用听不到声音,可能是因为它尝试使用 BluetoothA2DP,在这种情况下它被静音了。

解决方案是将类别更改为 .PlayAndRecord 设置选项 .allowBluetooth。在这种情况下,将使用 BluetoothHFP。

我的问题是,如果蓝牙连接持续有效,是否可以检测到从 A2DP 到 HFP 的切换? 我尝试了很多东西,但是当我切换汽车立体声模式时,操作系统不会向我发送路由更改通知,因为蓝牙连接仍然有效,只是 A2DP 被静音。或者是否有任何其他通知需要观察此更改? 有没有其他方法可以检测立体声单元何时从 A2DP 切换到 HFP?

或者它是一种确保

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...