微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决更改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 举报,一经查实,本站将立刻删除。