startPushSingleStream method
- required string taskId,
- 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} 回调。
- 在控制台配置了转推直播服务端回调后,调用本接口会收到相应回调。重复调用该接口时,第二次调用会同时触发 TranscodeStarted 和 TranscodeUpdated。
- 调用 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}');
}
}