不论是在多人通话还是在秀场直播中,对端需要通过拉流功能在 ZEGO 服务上进行拉流,如此才能获取到好友或者主播的视频画面。
设置拉流回调监听后,在调用 startPlayingStream
拉流后,能收到拉流是否成功等相关事件的通知,如果拉流失败需要进行相应的错误处理。
zegoLiveRoom.setZegoLivePlayerCallback(new IZegoLivePlayerCallback(){
// 处理拉流相关的回调
...
});
建议处理 IZegoLivePlayerCallback 中的以下回调接口:
onPlayStateUpdate
:拉流是否成功或者拉流成功后断网等错误导致拉流失败的通知,如果拉流失败(stateCode!=0),App 端提示拉流失败或者重试拉流,相关错误码请查看 拉流错误码 可根据需要处理 onPlayQualityUpdate
,onVideoSizeChangedTo
接口,
onPlayQualityUpdate
:拉流质量信息的通知,例如音视频的帧率、码率等,用于 App 展示音视频的音质、画质。onVideoSizeChangedTo
:视频画面宽高发生变化的通知,此回调标识真正拉到了视频数据,如果 App 业务上在拉流前有背景图遮盖时,可以根据此通知去掉背景图遮盖。其余回调接口请根据业务实际情况进行选择处理,完整的拉流回调接口请查看 IZegoLivePlayerCallback
注意:收到 onDisconnect 回调后,SDK 断开房间信令服务,将无法收到
onPlayStateUpdate
等拉流回调,请开发者关注并处理 onDisconnect 回调。
注意:使用拉流功能时,还需要先登录房间。
调用 startPlayingStream
进行拉流,如果不需要继续拉流,请调用 stopPlayingStream
停止拉流。
streamID
仅支持长度不超过 256 字节的数字、下划线、字母,streamID
需要在整个 AppID 内全局唯一。
zegoLiveRoom.startPlayingStream(streamID, view)
请注意
拉流后可以调用如下 API 设置拉流视图。
注意:在拉流后设置,否则无效。
zegoLiveRoom.setViewMode(ZegoVideoViewMode.ScaleAspectFill, streamID)
ZegoVideoViewMode
中视图模式之间的区别请查看 ZegoVideoViewMode
拉流后可以调用 updatePlayView
接口更新拉流视图。
zegoLiveRoom.updatePlayView(streamID, view);
当房间中的某条流被删除后,开发者需要调用 stopPlayingStream
停止拉流。
zegoLiveRoom.stopPlayingStream(streamID)
注意:在停止拉流后需要移除相关的 UI 控件。
方法 | 描述 |
---|---|
setZegoLivePlayerCallback | 设置拉流代理 |
startPlayingStream | 开始拉流 |
setViewMode | 设置拉流视图模式 |
stopPlayingStream | 停止拉流 |
logoutRoom | 退出登录房间 |
完成了拉流后,可以使用 ZEGO SDK 依次完成如下功能来实现基础的通话或者直播。
联系我们
文档反馈