功能描述
默认情况下,只有同一个房间中的用户之间可以进行音视频通话,不同的房间之间的音视频流是相互隔离的。跨房连麦功能可以让不同房间的用户进行音视频通话。
在直播场景中,通过该功能使得双方主播可以互相通话,双方的观众也可以观看对方主播,本文主要介绍如何使用 CrossRoom 插件实现跨房连麦需求。
使用步骤
确保您的 SDK 版本 >= v5.8.0
- 开始跨房连麦
import { CrossRoom } from 'trtc-sdk-v5/plugins/cross-room'
const trtc = TRTC.create({ plugins: [CrossRoom] });
await trtc.enterRoom({ sdkAppId, userId: 'user1', userSig, roomId: 7777 });
// 将当前房间 7777 的 user1 和对端房间 8888 的 user2 打通。user2 的流会推到 7777 房间,user1 的流会推到 8888 房间。
await trtc.startPlugin('CrossRoom', {
roomId: 8888,
userId: 'user2'
});
- 更新跨房连麦对端主播的 mute 状态
当开启跨房连麦后,对端房间主播的流推到当前房间,本房间内的所有用户都将收到该主播发布的音视频流。
您可以通过调用该接口,限制跨房主播在本房间内的上行能力,禁止或允许跨房主播发布音频/主路视频/辅路视频,该行为会影响房间内的所有用户。
在禁用跨房主播某种上行能力后,本房间内所有用户将无法收到对应音视频流,且无法再订阅对应的音视频。
await trtc.updatePlugin('CrossRoom', {
updateList: [{
roomId: 8888,
userId: 'user2'
muteAudio: true,
muteVideo: false,
muteSubStream: false,
}]
})
- 停止跨房连麦
用户级别的跨房连麦调用下列接口后,会将当前发起跨房连麦的所有跨房取消。
await trtc.stopPlugin('CrossRoom')