音频路由指的是终端 App 用于播放音频的设备。移动端常见的音频路由包括以下两种:
手机播放设备可以是扬声器或听筒。立体声扬声器位于手机底部,声音比较大,可以实现“免提”的功能。听筒位于手机顶部,声音比较小,只有将耳朵凑近才能听清楚,隐私性较好,适合用于接听电话。
外接设备包括有线耳机、蓝牙耳机等。
在视频会议等场景,用户可能需要按需切换音频路由。本文主要介绍如何在移动端设置默认音频路由和切换音频路由。
自客户端 SDK v3.38,支持本功能。
自客户端 SDK v3.42,功能优化。setDefaultAudioRoute 选择设备的听筒或扬声器作为默认音频路由。setAudioRoute 支持更多音频设备类型,例如有线耳机、蓝牙耳机等,但只支持在 AUDIO_SCENARIO_COMMUNICATION 通话场景下调用生效。
不同情况采用的音频路由不同,如下表所示:
| 音频路由 | |
|---|---|
| 用户连接有线耳机、蓝牙耳机、USB 等某一外接设备 | 该外接设备 |
| 用户先后连接了多个外接设备 | 最后连接的设备 |
| 用户断开一个外接设备 | 最后连接的设备 |
| 用户没有连接外接设备或断开所有外接设备 | 默认音频路由(移动端设备本身采用的路由,包括听筒或扬声器) |
为满足用户不同的使用场景,你需要设置默认音频路由或手动切换音频路由。具体参考以下内容:
调用 setDefaultAudioRoute 将默认音频路由设置为听筒或扬声器。
若要将音频路由切换到指定设备,必须先调用 setAudioScenario 将音频场景切换为 AUDIO_SCENARIO_COMMUNICATION(2);
调用 getAudioRoute 获取当前使用的音频路由设备。
调用 setAudioRoute 将当前音频路由切换到指定设备。
成功切换音频路由后,监听 onAudioRouteChanged 回调,提示用户音频路由已更改。
注意事项- 当外接音频播放设备时,由于移动端的系统限制,无法将音频路由指定为设备听筒。 - 不支持将音频路由设置为 AudioRouteUnknown。