本文详细介绍如何使用百家云WebSDK 发布和取消发布本地音视频,以及订阅和取消订阅远端音视频
完成本地流的创建和初始化,并且成功加入房间后,就可以调用 Client.publish 将本地的音视频数据发布到当前房间,以供房间中的其他用户订阅。
this.client.publish(this.publishStream) .then(() => { //发布流成功处理逻辑 }) .catch((error) => { //发布流失败处理逻辑 })
关于发布,注意事项如下:
在发布过程中,可能因为网络环境或者 SDK 使用不当抛出以下错误:
成功发布本地轨道后,如果想取消发布,可以调用 client.unpublish。
this.client.unpublish(this.publishStream) this.publishStream.destroy() this.publishStream = null
关于取消发布,注意事项如下:
当远端用户成功发布音视频之后,SDK 会触发 stream-added 事件。可以调用 client.subscribe() 发起订阅。 该方法为异步方法,使用时需要配合 Promise 或者 async/await。
client.on('stream-added', (data) => { //远端推流 let remoteStream = data.stream this.client.subscribe(remoteStream, { video: true, audio: true, streamType: 'small' }).then( () => { //订阅流成功 }, (error) => { //订阅流失败,重新订阅 setTimeout(() => { this.client.subscribe(remoteStream).then(() => { //重新订阅成功 }) }) } ) })
可通过该订阅接口指明需要订阅音频、视频或者音视频流。
在订阅过程中,因为网络环境等因素 SDK 可能抛出如下错误:
可以通过 client.unsubscribe 取消订阅远端的音视频。
this.client.unsubscribe(remoteStream).then(() => { //取消订阅成功 }).catch(error => { //取消订阅失败 })
关于取消订阅,注意事项如下:
发布和订阅
本文详细介绍如何使用百家云WebSDK 发布和取消发布本地音视频,以及订阅和取消订阅远端音视频
发布音视频
完成本地流的创建和初始化,并且成功加入房间后,就可以调用 Client.publish 将本地的音视频数据发布到当前房间,以供房间中的其他用户订阅。
关于发布,注意事项如下:
错误处理
在发布过程中,可能因为网络环境或者 SDK 使用不当抛出以下错误:
取消发布音视频流
成功发布本地轨道后,如果想取消发布,可以调用 client.unpublish。
关于取消发布,注意事项如下:
错误处理
在发布过程中,可能因为网络环境或者 SDK 使用不当抛出以下错误:
订阅音视频
当远端用户成功发布音视频之后,SDK 会触发 stream-added 事件。可以调用 client.subscribe() 发起订阅。 该方法为异步方法,使用时需要配合 Promise 或者 async/await。
可通过该订阅接口指明需要订阅音频、视频或者音视频流。
错误处理
在订阅过程中,因为网络环境等因素 SDK 可能抛出如下错误:
取消订阅音视频
可以通过 client.unsubscribe 取消订阅远端的音视频。
关于取消订阅,注意事项如下:
错误处理
在订阅过程中,因为网络环境等因素 SDK 可能抛出如下错误: