2017-08-30 193 views
0

我需要實現iPhone音箱(耳朵和底部)的音頻通話過程中的變化(使用TwilioVideo SDK連接)更改設備 礦代碼:的iOS揚聲器

let audioSession = AVAudioSession.sharedInstance() 

do { 
    if isSpeaker == false { 
     try audioSession.overrideOutputAudioPort(.speaker) 
     isSpeaker = true 
    } else { 
     try audioSession.overrideOutputAudioPort(.none) 
     isSpeaker = false 
    } 

    try audioSession.setActive(true) 
} catch { 
    handleError(error.localizedDescription) 
} 

這工作沒有任何異常,但不要」 t改變音頻輸出揚聲器

回答

1

Twilio開發者傳道這裏。

您不應該直接使用AVAudioSession API與Twilio Video。相反,您應該將TVIAudioController and set the audioOutput property用於TVIAudioOutput中列舉的選項之一。

TVIAudioController.sharedController().audioOutput = .TVIAudioOutputVideoChatSpeaker 

讓我知道這是否有幫助。

+0

這很好,謝謝。 但是有什麼方法可以將類別設置爲Twilio庫中的audioSession? – Viktor

+0

四種可用輸出設置爲:TVIAudioOutputVideoChatDefault,TVIAudioOutputVideoChatSpeaker,TVIAudioOutputVoiceChatDefault和TVIAudioOutputVoiceChatSpeaker。 – philnash

+0

我的意思是AVAudioSessionCategoryPlayAndRecord類別。我需要顯示綠色的通話狀態欄,根據https://stackoverflow.com/a/31704318/4899912,我需要將此類別設置爲AVAudioSession。將其設置爲sharedInstance並沒有幫助 – Viktor