2024/10/25 15:25:32
设置音频路由
音频路由是指 App 在播放音频时使用的音频输出设备。 例如,听筒、耳机、扬声器和可外放音频的蓝牙设备都可作为音频路由。
本文主要介绍音频路由的概念,并展示如何更改音频路由。
默认音频路由
默认音频路由是指设备本身采用的路由,例如移动设备上的扬声器。
在不同的场景下,SDK 使用的默认音频路由如下所示:
- 语音通话:听筒
- 视频通话:扬声器
- 语音直播:扬声器
- 视频直播:扬声器
更改音频路由
更改原则
根据使用角色的不同,你可以通过以下方法更改音频路由:
- 设备用户:添加或移除外部设备,例如耳机或蓝牙设备。
- App 开发者:加入频道前,调用
setDefaultAudioRoutetoSpeakerphone
更改默认音频路由。
无论采用何种方法对音频路由进行更改,更改生效的优先级都遵循如下原则:
- 用户行为对音频路由更改的优先级最高。
用户连接有线耳机、蓝牙耳机等外部设备后,音频路由会自动切换到外部设备。如果用户先后连接了多个外部设备,则音频路由会自动切换到最后一个连接的设备。 - 当用户没有连接外部设备时,SDK 会使用默认音频路由。
调用setDefaultAudioRoutetoSpeakerphone
可以更改该默认设置。如果当前音频路由是设备本身,setDefaultAudioRoutetoSpeakerphone
会修改当前音频路由。
对音频路由的任何更改都会触发 onAudioRouteChanged
回调。你可以使用此回调来获取当前的音频路由。
插拔设备更改音频路由
当用户连接音频设备时,音频路由会发生改变。例如插入耳机时音频路由会自动切换到耳机。当连接多个设备时,音频路由会切换至最后连接的设备。
参考以下示例,了解插拔设备会怎样改变音频路由:
- 用户加入频道。音频路由为扬声器。
- 用户插入耳机。音频路由更改为耳机。
- 用户在没有拔出耳机的状态下,将移动设备连接至蓝牙音频设备。音频路由更改为蓝牙音频设备。
- 用户断开蓝牙音频设备与移动设备之间的连接。音频路由变回耳机。
更改默认音频路由
在通话之前,调用 setDefaultAudioRoutetoSpeakerphone
方法将默认音频路由切换为听筒或扬声器。该方法的 defaultToSpeaker
参数传入 true
代表设置默认音频路由为扬声器;传入 false
代表设置默认音频路由为听筒。该方法的设置在调用 destroy
销毁引擎前都有效。
参考以下示例,了解如何更改默认音频路由:
- 用户插入耳机。音频路由为耳机。
- 用户拔出耳机。音频路由更改为移动设备的默认音频路由,具体取决于你的使用场景。
- 在 App 中调用
setDefaultAudioRoutetoSpeakerphone(true)
。音频路由更改为扬声器。 - 用户插入耳机。音频路由更改为耳机。
- 在 App 中调用
setDefaultAudioRoutetoSpeakerphone(true)
。音频路由仍然为耳机,因为setDefaultAudioRoutetoSpeakerphone
仅对设备本身的音频路由生效。 - 用户拔出耳机。音频路由更改为扬声器。