同房间连麦
设置角色切换事件回调监听
方法
JavaScript
engine.setOnLiveRoleSwitchedListener();
回调参数
参数 | 类型 | 说明 |
---|---|---|
role | RCRTCRole | 切换后的角色 |
code | Number | 错误码,0 表示成功 |
errMsg | String | 错误信息 |
示例代码
JavaScript
// 切换角色的回调
engine.setOnLiveRoleSwitchedListener(({role, code, errMsg}) => {
if (code == 0) {
// 切换成功
console.log('角色切换成功:', role);
} else {
// 切换失败
console.log('角色切换失败:', errMsg);
}
});
观众上麦
观众上麦本质上是切换身份变成当前房间的主播,然后以主播身份继续直播相关操作。
切换为主播
当观众需要上麦,跟房间内的其他主播互动时,调用 switchLiveRole
方法,参数传 RCRTCRole.LiveBroadcaster
切换身份为主播。
方法
JavaScript
engine.switchLiveRole();
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
role | RCRTCRole | 是 | 目标角色 |
示例代码
JavaScript
// 调用切换角色
engine.switchLiveRole(RCRTCRole.LiveBroadcaster);
console.log('切换为主播请求已发送');
观众下麦
主播下麦本质上是切换身份变成当前房间的观众,然后以观众身份继续观看直播等相关操作。
切换为观众
当身份为主播时,调用 switchLiveRole
方法,参数传 RCRTCRole.LiveAudience
切换身份为观众。
提示
如果当前主播用户已通过跨房间连麦加入了其他房间,仍可成功切换为观众身份。此时 SDK 内部会帮其退出所有副房间,但不会结束本次连麦。如果需要结束连麦,请在切换角色前调用 leaveSubRoom
方法 disband
参数传 true
即可。
方法
JavaScript
engine.switchLiveRole();
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
role | RCRTCRole | 是 | 目标角色 |
示例代码
JavaScript
// 调用切换角色
engine.switchLiveRole(RCRTCRole.LiveAudience);
console.log('切换为观众请求已发送');
订阅资源
直播用户切换身份后,默认会退订所有资源,请按需重新订阅。
- 观众切换为主播成功后,可以用切换身份之前保存的远端发布资源信息来订阅远端资源。参见主播订阅资源。
- 主播切换为观众成功后,可以在远端发布合流资源的回调中订阅合流,远端主播发布合流资源的回调会在切换成功后被触发。也可以用之前保存的远端发布资源信息订阅远端主播的分流,详见以下文档: