文档中心
Old_Live_Room 互动视频
文档中心
体验 App
SDK 中心
API 中心
常见问题
代码市场
进入控制台
立即注册
登录
中文站 English
  • 文档中心
  • 互动视频
  • 快速开始
  • 拉流

拉流

更新时间:2021-06-25 12:06

1 功能简介

不论是在多人通话还是在秀场直播中,对端需要通过拉流功能在 ZEGO 服务上进行拉流,如此才能获取到好友或者主播的视频画面。

2 使用步骤

2.1 设置拉流回调监听

设置拉流回调监听后,在调用 startPlayingStream 拉流后,能收到拉流是否成功等相关事件的通知,如果拉流失败需要进行相应的错误处理。

zg.onPlayStateUpdate = function(type, streamid, error) {
    // 处理拉流状态
}
zg.onPlayQualityUpdate = function(streamid, streamQuality) {
    // 拉流质量处理
}

建议处理 回调接口 中的以下回调接口:

  • onPlayStateUpdate:拉流是否成功或者拉流成功后断网等错误导致拉流失败的通知,如果拉流失败(stateCode!=0),客户端提示拉流失败或者重试拉流,相关错误码请查看 拉流错误码

可根据需要处理 onPlayQualityUpdate ,onVideoSizeChangedTo 接口,

  • onPlayQualityUpdate:拉流质量信息的通知,例如音视频的帧率、码率等,用于客户端展示音视频的音质、画质。

其余回调接口请根据业务实际情况进行选择处理,完整的拉流回调接口请查看 回调接口

2.2 拉流

注意:使用拉流功能时,还需要先登录房间。

调用 startPlayingStream 接口根据传入的流 ID 参数 “streamID”,拉取远端已推送到 ZEGO 服务器的音视频画面。如果不需要继续拉流,请调用 stopPlayingStream 停止拉流。

streamID 仅支持长度不超过 256 字节的数字、下划线、字母,streamID 需要在整个 AppID 内全局唯一。

zg.startPlayingStream(streamID, remoteVideo, audioOutput, playOption)
  1. 对于 streamID 的获取,在本用户登录房间前就已经在推的流,可以从 登录成功回调 中获得,在本用户登录房间后新推或者停推的流,可以从登录房间代理中的 流信息更新 回调中获得。
  2. 由于iOS系统对<video>的限制自动播放策略(该策略需要业务层做特殊处理),该系统下Web端无法自动播放视频,用户需要手动触发播放事件。

拉流错误码

2.3 停止拉流

当房间中的某条流被删除后,开发者需要调用 stopPlayingStream 停止拉流。

zg.stopPlayingStream(streamID)

注意:在停止拉流后需要移除相关的<video>对象。

3 API 参考列表

方法 描述
startPlayingStream 开始拉流
stopPlayingStream 停止拉流

4 相关文档

完成了拉流后,可以使用 ZEGO SDK 依次完成如下功能来实现基础的通话或者直播。

  • 快速开始-推流
本篇目录
  • 免费试用
  • 提交工单
    咨询集成、功能及报价等问题
    电话咨询
    400 1006 604
    咨询客服
    微信扫码,24h在线

    联系我们

  • 文档反馈