当第二个电话打到我的 iOS voip 应用程序时,如何播放呼叫等待提示音?

Rou*_*nak 5 objective-c pjsip ios callkit

我正在使用 PJSip 库构建一个 iOS voip 应用程序。我也在使用 CallKit。在通话过程中,如果有另一个来电,则会显示带有保持和接听、结束和接听...的呼叫等待屏幕。但是没有蜂鸣声,因此用户可以收到新来电的通知。我想以某种方式发出哔哔声。有人请帮忙。

Yao*_*tak 0

我找到了解决方案,只需在第二次来电时添加一些音频配置,然后就会发出蜂鸣声。这对我有用。

extension CallManager: CXCallObserverDelegate {

    func callObserver(_ CallObserver: CallObserver: CXCallObserver, callChanged call: CXCall) {
        if call.uuid != firstcall {
            configureAudioSession()
        }
    }
}

func configureAudioSession() {
    print("Configuring audio session")
    let session = AVAudioSession.sharedInstance()
    do {
        try AVAudioSession.sharedInstance().setCategory(.playAndRecord, options: [.mixWithOthers])
        try session.setMode(AVAudioSession.Mode.voiceChat)
    } catch (let error) {
        print("Error while configuring audio session: \(error)")
    }
}
Run Code Online (Sandbox Code Playgroud)