startPlayingStream method

Future<void> startPlayingStream(
  1. String streamID,
  2. {ZegoCanvas? canvas,
  3. 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);
}