setLocalSimulcastMode method

Future<int?> setLocalSimulcastMode(
  1. VideoSimulcastMode mode,
  2. 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}');
  }
}