同房间连麦
同房间连麦是指让已加入直播房间中的观众切换为主播身份,并参与直播。
观众上麦(升级为主播房间)
使用 RCRTClient 实例的 upgradeToAnchorRoom 方法,传入当前观众用户的 RCAudienceLivingRoom 实例,SDK 会返回主播角色的房间 RCLivingRoom 实例。
接口
typescript
rtcClient.upgradeToAnchorRoom(audienceRoom)
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
audienceRoom | RCAudienceLivingRoom | 是 | 观众房间 room 实例 |
示例代码
typescript
/**
* @param audienceRoom 观众房间 room 实例,调用 rtcClient.joinLivingRoomAsAudience 或 rtcClient.downgradeToAudienceRoom 方法返回的 room
* @since @rongcloud/plugin-rtc@5.6.8 增加返回 userIds, tracks, CDNEnable,房间内已有的人员、资源、CDN 状态不再从 room 监听处抛出
* @return userIds 返回加房间时,房间内的其他人
* @return tracks 返回加房间时,房间内其他人发布的资源
* @return CDNEnable 返回加房间时,房间内 CDN 开关是否开启
*/
const { room: anchorRoom, code, userIds, tracks, CDNEnable } = await rtcClient.upgradeToAnchorRoom(audienceRoom)
// 若升级失败,anchorRoom 为 undefined
if (code !== RCRTCCode.SUCCESS) {
console.log('upgrade failed:', code)
}
RCAudienceLivingRoom 实例升级为主播房间 RCLivingRoom 实例后,需要同步按需调用房间事件监听器或质量数据监听器。上麦成功后,用户身份与主播并无区别,可进行与主播同等的接口调用。详见主播端。
观众下麦(降级为观众房间)
-
在降级前请释放摄像头资源。
-
使用
RCRTClient实例的downgradeToAudienceRoom方法,传入当前主播用户的RCLivingRoom实例,SDK 会返回观众角色的房间RCAudienceLivingRoom实例。接口
typescriptrtcClient.downgradeToAudienceRoom(anchorRoom)参数说明
参数 类型 必填 说明 anchorRoomRCLivingRoom是 主播房间实例 示例代码
typescript/**
* 使用场景为主播降级观众
* @param anchorRoom 主播加入房间成功后返回的 room
*/
// 从 5.2.3 开始,加入房间时可返回 RTCTracks、MCUTracks、CDNUris、userIds
const { room: audienceRoom, RTCTracks, MCUTracks, CDNUris, userIds, code } = await rtcClient.downgradeToAudienceRoom(anchorRoom)
// 若降级失败,会返回 code, room 为 undefined
if (code !== RCRTCCode.SUCCESS) {
console.log('downgrade failed:', code)
}