音频路由是指 app 在播放音频时使用的音频输出设备。移动端常见的音频路由有听筒、扬声器、有线耳机和蓝牙耳机。
本文介绍如何在移动端设置音频路由为听筒或扬声器。
SDK 默认的音频路由受 SDK 类型和频道场景影响。下表展示了默认的音频路由:
SDK 类型\频道场景 | 通信场景 | 直播场景 |
---|---|---|
音频 SDK | 听筒 | 扬声器 |
视频 SDK | 扬声器 | 扬声器 |
disableVideo
、enableLocalVideo
、muteLocalVideoStream
或 muteAllRemoteVideoStreams
等方法关闭视频,则音频路由会自动切换到音频 SDK 默认的音频路由。如果默认的音频路由无法满足你的使用需求,你可以调用如下方法切换音频路由:
setDefaultAudioRouteToSpeakerphone
: 在加入频道前调用,切换默认的音频路由。成功切换后,SDK 会默认使用新的音频路由。setEnableSpeakerphone
: 在加入频道后调用,切换当前的音频路由。该方法只切换当前频道内使用的音频路由,不会影响默认的音频路由。如果用户离开当前频道并加入新的频道,则 SDK 还是会使用默认的音频路由。成功切换音频路由后,SDK 会触发 didAudioRouteChanged
回调提示音频路由已更改。
如需查询当前音频路由是否为扬声器,你可以调用 isSpeakerphoneEnabled
。
如果用户使用了有线耳机、蓝牙耳机等外置音频播放设备,则音频只会通过外置设备播放,SDK 无法切换音频路由为听筒或扬声器。当有多个外置设备时,音频会通过最后一个接入的外置设备播放。
setEnableSpeakerphone
> setDefaultAudioRouteToSpeakerphone
> SDK 默认的音频路由。setEnableSpeakerphone
> setDefaultAudioRouteToSpeakerphone
> SDK 默认的音频路由。音频路由的设置受音量类型、是否有外置播放设备影响,请从如下方面排查问题: