不论是在多人通话还是在秀场直播中,首先都需要推送自己的视频画面到 ZEGO 云端服务上,对端再通过从 ZEGO 云端服务上拉流,才可以获取到自己的视频画面。
设置推流回调监听,在调用 startPublishingStream
推流后,能收到推流是否成功等相关事件的通知,如果推流失败需要进行相应的错误处理。
zg.onPublishStateUpdate = function (type, streamId, error) {
// 推流状态变更通知
}
zg.onPublishQualityUpdate = function (streamId, streamQuality) {
// 推流质量回调
}
开始预览前需要开发者对对预览参数进行设置。
预览的参数包括:是否需要音频视频、麦克风设备摄像头id、摄像头朝向、推流质量、降噪、自动增益控制、回声消除等等
开发者可查阅 startPreview API 说明 相关内容,按需设置。
推流前可以调用如下 API 设置预览视图并启动本地预览。
ZegoClient.startPreview(localVideo, mediaStreamConstraints, success, error)
localVideo指的是本地预览的
<video>
对象,最终预览效果会在此体现,建议<video>
对象加上autoplay属性
mediaStreamConstraints 指的音视频配置项,预览的参数在此设置
success 与 error 分别指调用startPreview 后的成功与失败回调
开发者可调用 startPublishingStream API 进行推流,如果不需要继续推流, 请调用 stopPublishingStream
停止推流。
streamID
长度不超过 256 字节,仅支持数字、英文字符和 "-"、"_"。
streamID
需要在整个 AppID 内全局唯一。
zg.startPublishingStream(streamid, localVideo)
若需要推多条流则多次调用推流接口即可,需保证每条流的 streamid 与 localVideo 不同。
调用 stopPublishingStream 停止推流。
停止推流不会触发退出房间,用户依然可以在当前房间中,重新推流。
zg.stopPublishingStream(streamid)
调用stopPreviewAPI 停止预览,停止预览后,用户也无法看到自己的画面。
zg.stopPreview(localVideo)
方法 | 描述 |
---|---|
startPreview | 设置推流代理 |
startPublishingStream | 开始推流 |
stopPublishingStream | 停止推流 |
stopPreview | 停止预览 |
完成了推流后,可以使用 ZEGO SDK 依次完成如下功能来实现基础的通话或者直播。
联系我们
文档反馈