setLocalSimulcastMode method
Future<int?>
setLocalSimulcastMode(
- VideoSimulcastMode mode,
- List<
VideoEncoderConfig> streamConfig
@valid since 3.60.
@detail api
@author zhoubohui
@brief 发布端进行大小流(simulcast)设置。
@param mode 详见 VideoSimulcastMode{@link #VideoSimulcastMode}。默认为只发送单流。你应在进房前调用修改本参数。
@param streamConfig 小流参数。最多可设置 3 路。分辨率按照从小到大顺序,且每路流参数分辨率需小于大流 setVideoEncoderConfig{@link #RTCEngine#setVideoEncoderConfig} 设置参数。否则可能会设置失败。参看 VideoEncoderConfig{@link #VideoEncoderConfig}。
其余模式下,默认小流参数为 160px × 90px, 码率为 50kpbs。
@return 方法调用结果:
- 0:成功
- !0:失败
@note
- 调用本方法前,SDK 默认仅发布一条分辨率为 640px × 360px @15fps 的视频流。
- 本方法适用于摄像头采集的视频流。
- 更多信息详见推送多路流文档。
Implementation
Future<int?> setLocalSimulcastMode(
VideoSimulcastMode mode, List<VideoEncoderConfig> streamConfig) async {
$a() => ($instance as $p_a.RTCEngine).setLocalSimulcastMode(
t_VideoSimulcastMode.code_to_android(mode),
streamConfig
.map(($item) => unpackObject<$p_a.VideoEncoderConfig>($item))
.toList());
$i() => ($instance as $p_i.ByteRTCEngine).setLocalSimulcastMode(
t_VideoSimulcastMode.code_to_ios(mode),
streamConfig
.map(($item) => unpackObject<$p_i.ByteRTCVideoEncoderConfig>($item))
.toList());
if (Platform.isAndroid) {
return $a();
} else if (Platform.isIOS) {
return $i();
} else {
throw UnsupportedError(
'Not Support Platform ${Platform.operatingSystem}');
}
}