Неправильное поведение кнопки динамика на экране вызова системы

Мы пишем приложение 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. Кнопка динамика работает как положено.

Другие вопросы по тегам