麦克风无法在 iOS 13 上使用 CallKit VoIP 通话

arg*_*us7 5 webrtc swift callkit swift5 ios13

我已经实现了 Web RTC 并且它运行良好。问题是,当应用程序未打开\xe2\x80\x94或终止状态\xe2\x80\x94时,当我接到电话时,我无法将我的声音传递给其他用户,而我可以收听。我在 CXAnswer 调用委托之前配置了 AVAudioSession。

\n\n
func configureAudioSession() {\n    let sharedSession = AVAudioSession.sharedInstance()\n    do {\n        try sharedSession.setCategory(AVAudioSession.Category.playAndRecord)\n        try sharedSession.setMode(AVAudioSession.Mode.voiceChat)\n        try sharedSession.setPreferredIOBufferDuration(TimeInterval(0.005))\n        try sharedSession.setPreferredSampleRate(44100.0)\n    } catch {\n        debugPrint("Failed to configure `AVAudioSession`")\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n
func provider(_ provider: CXProvider, perform action: CXAnswerCallAction) {\n\n    guard let call = ProviderDelegate.callManager.callWithUUID(action.callUUID) else {\n        action.fail()\n        return\n    }\n\n    configureAudioSession()\n\n    call.answer { error in\n        if let error = error {\n            print("ERROR: failed to answer: \\(error.localizedDescription)")\n        }\n        action.fulfill()\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n