startPushSingleStream method

Future<int?> startPushSingleStream({
  1. required string taskId,
  2. required PushSingleStreamParam param,
})

@valid since 3.60. @detail api @hiddensdk(audiosdk) @author lizheng @brief 将房间内某一路音视频流,推送到指定的 RTC 房间或 CDN 地址。此过程不涉及编解码。 @param taskId 任务 ID。
你可以发起多个转推直播任务,并用不同的任务 ID 加以区分。当你需要发起多个转推直播任务时,应使用多个 ID;当你仅需发起一个转推直播任务时,建议使用空字符串。 @param param 转推直播配置参数。详见 PushSingleStreamParam{@link #PushSingleStreamParam}。 @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明。 @note - 在调用该接口前,你需要在控制台开启转推直播功能。 - 调用该方法后,关于启动结果和推流过程中的错误,会收到 onSingleStreamEvent{@link #IRTCEngineEventHandler#onSingleStreamEvent} 回调。 - 在控制台配置了转推直播服务端回调后,调用本接口会收到相应回调。重复调用该接口时,第二次调用会同时触发 TranscodeStartedTranscodeUpdated。 - 调用 stopPushSingleStream{@link #RTCEngine#stopPushSingleStream} 停止任务。 - 由于本功能不进行编解码,所以推到 RTMP 的视频流会根据推流端的分辨率、编码方式、关闭摄像头等变化而变化。

Implementation

Future<int?> startPushSingleStream(
    {required string taskId, required PushSingleStreamParam param}) async {
  $a() => ($instance as $p_a.RTCEngine).startPushSingleStream(
      taskId, unpackObject<$p_a.PushSingleStreamParam>(param));
  $i() => ($instance as $p_i.ByteRTCEngine).startPushSingleStream(
      taskId, unpackObject<$p_i.ByteRTCPushSingleStreamParam>(param));

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