如何在Twiliovoice iOS(Twilio可编程语音)中禁用扬声器



当呼叫正在进行(已发送或接收(时,扬声器电话已接合,并且扬声器电话按钮对按下按下以将其关闭。

有没有办法将其切换为代码或使其在UI中进行切换?我相信这是苹果的核心音频电话UI。

这是Twilio的Quickstart演示代码从这里发生的:https://github.com/twilio/voice-quickstart-swift

尝试以下内容将输出迫使扬声器:

if !session.overrideOutputAudioPort(AVAudioSessionPortOverride.Speaker, error:&error) {
   println("could not set output to speaker")
   if let e = error {
      println(e.localizedDescription)
   }
}

swift 3.0

try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord, mode: AVAudioSessionModeVoiceChat, options: .mixWithOthers)
try AVAudioSession.sharedInstance().overrideOutputAudioPort(.none)
try AVAudioSession.sharedInstance().setActive(true)

过度输出端口到无。

swift 4

try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playAndRecord, mode: AVAudioSession.Mode.voiceChat, options: .mixWithOthers)
try AVAudioSession.sharedInstance().overrideOutputAudioPort(.none)
try AVAudioSession.sharedInstance().setActive(true)

您可以尝试以下代码段

func movetovoiceCall(({

    audioDevice.block = {
        DefaultAudioDevice.DefaultAVAudioSessionConfigurationBlock()
        do {
            try AVAudioSession.sharedInstance().setMode(.voiceChat)
            try AVAudioSession.sharedInstance().overrideOutputAudioPort(.none)
        } catch {
            print(error)
        }
    }
    audioDevice.block();
}

最新更新