我们使用CallKit和PortSIP编写VoIP应用程序,这是一个仅在iOS 11.2.x上重现的问题。 当用户点击CallKit上的扬声器按钮时,屏幕系统启用扬声器,但图标仍处于禁用状态。如果用户再次点击,系统也会打开扬声器并忘记按钮。要禁用扬声器用户,请按两次按钮。有人遇到过这个bug吗?你的解决方案是什么? (:
感谢。
答案 0 :(得分:7)
RTCDispatcher.dispatchAsync(on: RTCDispatcherQueueType.typeAudioSession) {
let audioSession = RTCAudioSession.sharedInstance()
audioSession.lockForConfiguration()
let configuration = RTCAudioSessionConfiguration.webRTC()
configuration.categoryOptions = [AVAudioSessionCategoryOptions.allowBluetoothA2DP,AVAudioSessionCategoryOptions.duckOthers,
AVAudioSessionCategoryOptions.allowBluetooth]
try? audioSession.setConfiguration(configuration)
audioSession.unlockForConfiguration()
}
它帮助我使用CallKit。扬声器按钮按预期工作。
答案 1 :(得分:-1)
以前的版本也遇到了同样的问题。所以这不是电话套件上发生的新问题。
此问题必须从iOS 解决。我们无法控制这一点。