更改AVAudioSession的模式时,AVRoutePickerView显示不正确的输出设备信息

问题描述

我有一个AVAudioSession的模式有关的问题。我正在开发视频会议应用程序。当用户正在进行音频通话并且他/她升级为视频时,我们将AVAudioSession模式从AVAudioSessionModeVoiceChat更改为AVAudioSessionModeVideoChat。问题在于,由于此更改,我们在输出设备的avroutepickerview列表中遇到了此错误

  1. 将iPhone连接到蓝牙耳机。
  2. 用户A通过蓝牙与用户B进行音频通话。
  3. 用户A将输出设备切换为扬声器。
  4. 用户A升级为视频->活动音频显示为扬声器,但音频设备列表显示蓝牙耳机。
  5. 用户A降级为音频->有源音频显示为扬声器,但音频设备列表显示蓝牙耳机。

如果我们注释一下切换AVAudioSession的模式的代码行,问题就解决了。在Apple中,文档说AVAudioSessionModeVideoChat“将允许的音频路由减少到仅适用于视频聊天的音频路由”,并且“具有启用AVAudioSessionCategoryOptionAllowBluetooth类别选项的副作用”。因此,我看到了模式设置和错误间的关联,但是我认为这是视频聊天的正确模式。

问题是,有人遇到过相同或相似的问题吗?有什么建议吗?

解决方法

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

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

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