Неправильное поведение кнопки динамика на экране вызова системы
Мы пишем приложение VoIP с использованием CallKit и PortSIP и здесь проблема воспроизводится только на iOS 11.2.x. Когда пользователь нажимает кнопку динамика на предоставленном CallKit экране, система включает динамик, но значок остается в отключенном состоянии. Если пользователь снова нажмет, система также включит динамик и забудет о кнопке. Чтобы отключить динамик, пользователь должен дважды нажать кнопку. Кто-нибудь встречал эту ошибку? И каково было ваше решение? (:
Благодарю.
2 ответа
Решение
Та же проблема возникала и в предыдущих версиях. Так что это не новая проблема, возникающая в наборе вызова.
Эта проблема должна быть решена с iOS. У нас нет никакого контроля над этим.
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. Кнопка динамика работает как положено.