iOS 更改设备扬声器
Posted
技术标签:
【中文标题】iOS 更改设备扬声器【英文标题】:iOS Change device speaker 【发布时间】:2017-08-30 07:42:39 【问题描述】:我需要在音频通话期间实现 iPhone 扬声器(耳朵和底部)更改(使用 TwilioVideo SDK 进行连接) 我的代码:
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)
正常工作,但不要更改音频输出扬声器
【问题讨论】:
【参考方案1】:这里是 Twilio 开发者宣传员。
您不应将AVAudioSession
API 直接用于 Twilio Video。相反,您应该将TVIAudioController
and set the audioOutput
property 用于TVIAudioOutput
中列举的选项之一。
TVIAudioController.sharedController().audioOutput = .TVIAudioOutputVideoChatSpeaker
如果有帮助,请告诉我。
【讨论】:
效果很好,谢谢。但是有没有办法在 Twilio lib 中将类别设置为 audioSession? 四种可用的输出设置是:TVIAudioOutputVideoChatDefault、TVIAudioOutputVideoChatSpeaker、TVIAudioOutputVoiceChatDefault 和 TVIAudioOutputVoiceChatSpeaker。 我的意思是 AVAudioSessionCategoryPlayAndRecord 类别。我需要显示绿色的通话状态栏,根据***.com/a/31704318/4899912,我只需将此类别设置为AVAudioSession。将其设置为 sharedInstance 没有帮助 哦,视频 SDK 自动将类别设置为AVAudioSessionCategoryPlayAndRecord
,这里说:media.twiliocdn.com/sdk/ios/video/releases/1.3.2/docs/Constants/…。该答案建议您还需要添加一些其他设置,例如在 info.plist 中将 UIBackgroundMode
设置为 voip
。
我的错 - 只设置 'voip',当同时需要 'audio' 和 'voip' 键时。但它显示为红色(正在录制)状态。是否有机会将其更改为绿色(通话中)?以上是关于iOS 更改设备扬声器的主要内容,如果未能解决你的问题,请参考以下文章