Skip to content

切换角色

说明

调用本接口可以实现用户在“主播”和“观众”两种角色之间来回切换。

由于视频直播和语音聊天室需要支持多达10万名观众同时观看,所以设定了 只有主播才能发布自己的音视频 的规则。因此,当有些观众希望发布自己的音视频流(以便能跟主播互动)时,就需要先把自己的角色切换成 主播

您可以在进入房间时通过 params 中的 role 字段事先确定用户的角色,也可以在进入房间后通过该接口动态切换角色。

注意

  • 该接口仅适用于视频直播(TRTC_APP_SCENE_LIVE)和语音聊天室(TRTC_APP_SCENE_VOICE_CHATROOM)这两个场景。
  • 如果您在 enterRoom 时指定的 scene 为 TRTC_APP_SCENE_VIDEOCALL 或 TRTC_APP_SCENE_AUDIOCALL,请不要调用这个接口。

方法名

switchRole

用法

  • 用法如下:
js
module.switchRole({
  params:{
  },
  //成功执行的函数
  success: (res) => {
    let data = res.data;
    console.log(data)
  },
  //失败执行的函数
  fail: (res) => {
    console.log(res)
  },
  //接口调用完成返回函数,不管成功还是失败都会返回
  complete: (res) => {
    // console.log(res)
  }
})
js
module.switchRole({
  params:{
  },
  //成功执行的函数
  success: (res) => {
    const data = res.data;
    console.log(data)
  },
  //失败执行的函数
  fail: (res) => {
    console.log(res)
  },
  //接口调用完成返回函数,不管成功还是失败都会返回
  // complete: (res) => {
  //   console.log(res)
  // }
} as LevenOptions)
  • 参数说明
    参数名参数类型是否必填默认值参数描述
    paramsObject参数配置
    params.roleStringTRTCRoleAnchor角色,默认为 主播
    TRTCRoleAnchor :主播,可以发布自己的音视频,同一个房间里最多支持50个主播同时发布音视频。
    TRTCRoleAudience :观众,不能发布自己的音视频流,只能观看房间中其他主播的音视频。如果要发布自己的音视频,需要先通过 switchRole 切换成 主播,同一个房间内同时最多可以容纳 10 万名观众。
    params.privateMapKeyString用于权限控制的权限票据,当您希望某个房间只能让特定的 userId 进入或者上行视频时,需要使用 privateMapKey 进行权限保护。
    仅建议有高级别安全需求的客户使用,更多详情请参见 开启高级权限控制
    successFunction执行成功的函数
    failFunction执行失败的函数
    completeFunction执行完成的函数,不管成功还是失败都会执行

回调

  • 示例
json
{
"data": { },
"message": "",
"code": 0
}
  • 回调说明:
    参数名参数类型参数描述
    messageString消息提示
    dataObject数据对象
    codeInteger返回类型,0.成功,其他:失败