setAudioRoute method
@detail api
@author dixing
@brief 强制切换当前的音频播放路由。默认使用 setDefaultAudioRoute{@link #RTCEngine#setDefaultAudioRoute} 中设置的音频路由。
音频播放路由发生变化时,会收到 onAudioRouteChanged{@link #IRTCEngineEventHandler#onAudioRouteChanged} 回调。
@param audioRoute 音频播放路由,参见 AudioRoute{@link #AudioRoute}。
对 Android 设备,不同的音频设备连接状态下,可切换的音频设备情况不同。参见移动端设置音频路由。
@return
- 0: 调用成功。
- < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明
@note
- 对于绝大多数音频场景,推荐使用 setDefaultAudioRoute{@link #RTCEngine#setDefaultAudioRoute} 设置默认音频路由,并借助 RTC SDK 的音频路由自动切换逻辑即可完成。切换逻辑参见移动端设置音频路由。你应仅在例外的场景下,使用此接口,比如在接入外接音频设备时,手动切换音频路由。
- 本接口仅支持在通话模式下使用。
- 不同音频场景中,音频路由和发布订阅状态到音量类型的映射关系详见 AudioScenarioType{@link #AudioScenarioType} 。
Implementation
Future<int?> setAudioRoute(AudioRoute audioRoute) async {
$a() => ($instance as $p_a.RTCEngine)
.setAudioRoute(t_AudioRoute.code_to_android(audioRoute));
$i() => ($instance as $p_i.ByteRTCEngine)
.setAudioRoute(t_AudioRoute.code_to_ios(audioRoute));
if (Platform.isAndroid) {
return $a();
} else if (Platform.isIOS) {
return $i();
} else {
throw UnsupportedError(
'Not Support Platform ${Platform.operatingSystem}');
}
}