前言
在直播场景中,常常需要跨房连麦来支持不同直播间的主播实时互动的需求,本文主要介绍 Web 端跨房间连麦的实现方案。
跨房连麦 API
版本要求
您需要升级 sdk 版本到 v4.15.21+ 版本。
发起跨房连麦
- 发起连麦后,两个房间完全打通,双方主播可以互相拉流。
- 在不调用 disconnectOtherRoom 的情况下,跨房连麦状态会一直保持至对方房间解散为止,即对方最后一个用户退房为止。
// 指定跨房对端的房间号,没有数字和字符房间号区分,统一传 string 类型,后台会自动根据您的房间号类型来判断数字还是字符房间号。
client.callExperimentalAPI('connectOtherRoom', { roomId: '6666' });
更新跨房连麦
更新对方房间各路流的 mute 的状态。在跨房连麦状态不终止的情况下,中途主播退房重进、或者新主播进房也能保持 mute 状态。
- 若填写了 userId,则是指定 mute 对方房间的主播。
- 若不填写 userId,则是批量 mute 对方房间所有主播。
如果对方房间就一个主播,mute 了对方,对方主播退出房间,这时候连麦状态就停了,对方重进房,需要重新发起连麦。
const options = {
updateList: [{
roomId: '6666',
userId: 'xxx', // 非必填
muteAudio: true, // true 静音
muteVideo: true, // true 禁画
muteAuxiliary: true, // true 禁辅流,一般是屏幕分享
}]
}
client.callExperimentalAPI('updateOtherRoomForwardMode', options);
停止跨房连麦
client.callExperimentalAPI('disconnectOtherRoom', { roomId: '6666' });