2017-08-30 7 views
0

Je dois mettre en œuvre haut-parleur (oreille et en bas) changement pendant un appel audio (en utilisant SDK TwilioVideo pour la connexion) Code Mine:iOS changement haut-parleur périphérique

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) 
} 

Il fonctionne sans aucune exception, mais n » t changer le haut-parleur de sortie audio

Répondre

1

Twilio développeur évangéliste ici.

Vous ne devez pas utiliser les API AVAudioSession directement avec Twilio Video. Au lieu de cela, vous devez utiliser le TVIAudioController and set the audioOutput property à l'une des options énumérées dans TVIAudioOutput. Faites-moi savoir si cela peut vous aider.

+0

Ça marche bien, merci. Mais est-il possible de définir une catégorie sur audioSession dans Twilio lib? – Viktor

+0

Les quatre paramètres de sortie disponibles sont: TVIAudioOutputVideoChatDefault, TVIAudioOutputVideoChatSpeaker, TVIAudioOutputVoiceChatDefault et TVIAudioOutputVoiceChatSpeaker. – philnash

+0

Je veux dire la catégorie AVAudioSessionCategoryPlayAndRecord. J'ai besoin d'afficher le statusBar vert en appel, et selon https://stackoverflow.com/a/31704318/4899912, je dois juste définir cette catégorie à AVAudioSession. Le définir sur sharedInstance n'aide pas – Viktor