startPlayingStream method
- String streamID,
- {ZegoCanvas? canvas,
- ZegoPlayerConfig? config}
开始拉流(从 ZEGO RTC 服务器或第三方 CDN),支持多房间模式。
支持版本:1.1.0 及以上。
详情描述:从 ZEGO RTC 服务器或第三方 CDN 拉取远端用户的音视频流进行互通。
业务场景:在实时连麦或直播场景下,开发者可通过监听 onRoomStreamUpdate 事件回调来获取所在房间内新增的流信息,并调用此接口传入 "streamID" 进行拉流操作。
调用时机:调用 loginRoom
加入房间后调用该函数。
使用限制:无。
注意事项:1. 开发者可通过再次调用此函数实现切换拉流 canvas 的操作(streamID 必须一样)。同一条流只能在唯一的视图中拉取展示,如果调用 startPlayingStream 传入相同的 "streamID" 和不同的视图,画面只会在新视图展现。2. 首次拉流时如果因网络原因拉流失败或拉流中断,SDK 会在 20min 内多次尝试重连并拉流。3. 在网络质量不佳的情况下,用户拉流可能出现中断,SDK 会尝试重连并拉流,可通过监听 onPlayerStateUpdate 事件来获知当前拉流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect 4. 如果拉取不存在的 "streamID",SDK 会持续尝试拉取,在该 streamID 对应的音视频流被成功推送后,该流可以真正被拉取到。
注意:此函数仅在 ZegoExpressVideo SDK 中有效!
streamID
流 ID,长度不超过 256 字节的字符串。 注意事项: 仅支持数字,英文字符 和 '-', '_'。canvas
用于显示拉流画面的视图,视图设置为null
时不显示视频,只播放音频。该参数可以设置视图显示模式(viewMode)和背景色。config
拉流进阶配置, ZegoPlayerConfig 中房间roomID
为登录的房间ID。
Implementation
Future<void> startPlayingStream(String streamID,
{ZegoCanvas? canvas, ZegoPlayerConfig? config}) async {
return await ZegoExpressImpl.instance
.startPlayingStream(streamID, canvas: canvas, config: config);
}