使用Nexmo Swift客户端SDK时启用扬声器电话

问题描述

我正在迅速使用Nexmo Client SDK进行VOIP呼叫。我正在尝试使用以下代码在通话过程中启用免提电话。

     @IBAction func speakerButtonTapped(_ sender: Any) {
        if speaker == false {
            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "speakerON"),object: nil)
        } else {
            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "speakerOFF"),object: nil)
        }
        speaker = !speaker
    }
    
    @objc
    func speakerON() {
        speakerButton.setTitle("Speaker On",for: .normal)
        let audioSession = AVAudioSession.sharedInstance()
        do {
            try audioSession.overrideOutputAudioPort(.speaker)
        } catch let error {
            print(error)
        }
    }
    
    @objc
    func speakerOFF() {
        speakerButton.setTitle("Speaker Off",for: .normal)
        let audioSession = AVAudioSession.sharedInstance()
        do {
            try audioSession.overrideOutputAudioPort(.none)
        } catch let error {
            print(error)
        }
    }

它似乎什么也没做,我已经在模拟器和物理设备上尝试过。我还尝试过将其他呼叫添加到音频会话。

            try audioSession.overrideOutputAudioPort(.speaker)
            try audioSession.setCategory(.playAndRecord)
            try audioSession.setMode(.voiceChat)
            try audioSession.setActive(true)

也没有错误打印出来。有人有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)