Appearance
切换房间
说明
使用该接口可以让用户快速从一个房间切换到另一个房间。
- 如果用户的身份是“观众”,该接口的调用效果等同于
exitRoom(当前房间) + enterRoom(新的房间)。 - 如果用户的身份是“主播”,该接口在切换房间的同时还会保持自己的音视频发布状态,因此在房间切换过程中,摄像头的预览和声音的采集都不会中断。
该接口适用于在线教育场景中,监课老师在多个房间中进行快速切换的场景。在该场景下使用 switchRoom 可以获得比 exitRoom + enterRoom 更好的流畅性和更少的代码量。
接口调用结果会通过 addListener 中的 onSwitchRoom 回调。
方法名
switchRoom
用法
- 用法如下:
js
module.switchRoom({
params:{
},
//成功执行的函数
success: (res) => {
let data = res.data;
console.log(data)
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
complete: (res) => {
// console.log(res)
}
})js
module.switchRoom({
params:{
},
//成功执行的函数
success: (res) => {
const data = res.data;
console.log(data)
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
// complete: (res) => {
// console.log(res)
// }
} as LevenOptions)- 参数说明
参数名 参数类型 是否必填 默认值 参数描述 params Object 是 无 参数配置 params.privateMapKey String 否 无 用于权限控制的权限票据(选填),当您希望某个房间只能让特定的 userId 进入时,需要使用 privateMapKey 进行权限保护。
仅建议有高级别安全需求的客户使用,更多详情请参见 开启高级权限控制。params.roomId Integer 否 无 数字房间号码 [选填],在同一个房间内的用户可以看到彼此并能够进行音视频通话。
取值范围:1 - 4294967294。
roomId 和 strRoomId 必须并且只能填一个。若两者都填,则优先选择 roomId。params.strRoomId String 否 无 字符串房间号码 [选填],在同一个房间内的用户可以看到彼此并能够进行音视频通话。
roomId 和 strRoomId 必须并且只能填一个。若两者都填,则优先选择 roomId。params.isPluginSig Boolean 否 false 是否使用插件内部签名,如果为true的话userSig可以不用传,否则必传 params.userSig String 否 无 用户签名 [选填],当前 userId 对应的验证签名,相当于登录密码。
如果您在切换房间时不指定新计算出的 userSig,SDK 会继续使用您在进入房间时(enterRoom)时所指定的 userSig。
这就需要您必须保证旧的 userSig 在切换房间的那一刻仍在签名允许的效期内,否则会导致房间切换失败。
具体计算方法请参见 如何计算UserSig。params.sdkSecretKey String 否 无 签名秘钥,isPluginSig为true是必传 success Function 否 无 执行成功的函数 fail Function 否 无 执行失败的函数 complete Function 否 无 执行完成的函数,不管成功还是失败都会执行
回调
- 示例
json
{
"data": { },
"message": "",
"code": 0
}- 回调说明:
参数名 参数类型 参数描述 message String 消息提示 data Object 数据对象 code Integer 返回类型,0.成功,其他:失败
