setRemoteVideoConfig method

Future<int?> setRemoteVideoConfig({
  1. required string streamId,
  2. required RemoteVideoConfig videoConfig,
})

@detail api @brief 设置期望订阅的远端视频流的参数。 @param streamId 期望配置订阅参数的远端视频流 ID。 @param remoteVideoConfig 期望配置的远端视频流参数,参看 RemoteVideoConfig{@link #RemoteVideoConfig}。 @return 方法调用结果:
+ 0:成功。
+ !0:失败。 @note + 若使用 342 及以前版本的 SDK,调用该方法前请联系技术支持人员开启按需订阅功能。
+ 该方法仅在发布端调用 setLocalSimulcastMode{@link #RTCEngine#setLocalSimulcastMode} 开启了发送多路视频流的情况下生效,此时订阅端将收到来自发布端与期望设置的参数最相近的一路流;否则订阅端只会收到一路参数为分辨率 640px × 360px、帧率 15fps 的视频流。
+ 若发布端开启了推送多路流功能,但订阅端不对流参数进行设置,则默认接受发送端设置的分辨率最大的一路视频流。
+ 该方法需在进房后调用。
+ SDK 会根据发布端和所有订阅端的设置灵活调整视频流的参数,具体调整策略详见推送多路流文档。

Implementation

Future<int?> setRemoteVideoConfig(
    {required string streamId,
    required RemoteVideoConfig videoConfig}) async {
  $a() => ($instance as $p_a.RTCRoom).setRemoteVideoConfig(
      streamId, unpackObject<$p_a.RemoteVideoConfig>(videoConfig));
  $i() => ($instance as $p_i.ByteRTCRoom).setRemoteVideoConfig(
      streamId, unpackObject<$p_i.ByteRTCRemoteVideoConfig>(videoConfig));

  if (Platform.isAndroid) {
    return $a();
  } else if (Platform.isIOS) {
    return $i();
  } else {
    throw UnsupportedError(
        'Not Support Platform ${Platform.operatingSystem}');
  }
}