setPublishFallbackOption method
@detail api
@author panjian.fishing
@brief 设置发布的音视频流的回退选项。
你可以调用该接口设置网络不佳或设备性能不足时从大流起进行降级处理,以保证通话质量。
@param option 本地发布的音视频流回退选项,参看 PublishFallbackOption{@link #PublishFallbackOption}。
@return
- 0: 调用成功。
- < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明
@note
- 该方法仅在调用 setLocalSimulcastMode{@link #RTCEngine#setlocalsimulcastmode-2} 开启了发送多路视频流的情况下生效。
- 该方法必须在进房前设置,进房后设置或更改设置无效。
- 调用该方法后,如因性能或网络不佳产生发布性能回退或恢复,本端会提前收到 onPerformanceAlarms{@link #IRTCEngineEventHandler#onPerformanceAlarms} 回调发出的告警,以便采集设备配合调整。
- 设置回退后,本地发布的音视频流发生回退或从回退中恢复时,远端会收到 onSimulcastSubscribeFallback{@link #IRTCEngineEventHandler#onSimulcastSubscribeFallback} 回调,通知该情况。
- 你可以调用客户端 API 或者在服务端下发策略设置回退。当使用服务端下发配置实现时,下发配置优先级高于在客户端使用 API 设定的配置。
Implementation
Future<int?> setPublishFallbackOption(PublishFallbackOption option) async {
$a() => ($instance as $p_a.RTCEngine).setPublishFallbackOption(
t_PublishFallbackOption.code_to_android(option));
$i() => ($instance as $p_i.ByteRTCEngine)
.setPublishFallbackOption(t_PublishFallbackOption.code_to_ios(option));
if (Platform.isAndroid) {
return $a();
} else if (Platform.isIOS) {
return $i();
} else {
throw UnsupportedError(
'Not Support Platform ${Platform.operatingSystem}');
}
}