跳转到主要内容
本页的方法都要求主持人或联席主持人身份(Role.host / Role.coHost), 否则抛 unauthorized(208004)。
按角色隐藏 / 禁用按钮,不要靠捕获 unauthorized。 后者的体验是”点了才知道不能点”。角色变化通过 onUserRoleChange 事件下发, 当前角色从 getUserInfo(myUid).role 读。

房间级开关

麦克风和摄像头这两个方法的第一个参数是 selfUnmute*Disabled,不是开关本身。
参数顺序容易记反 —— 第一个是”能不能自己解除”,第二个才是”是否静音”。
其余几个都是单个布尔开关,语义直白。变化通过对应的 onRoom*Change 事件广播给所有人。

成员管理


对成员的媒体操作

“请求开”与”直接关”是不对称的,这是有意的:
  • adminRequestUserOpenMic —— 只是请求。对端收到 onAdminRequestOpenMic, 应当弹窗征求同意,SDK 不会自动开。隐私边界在这儿。
  • adminCloseUserMic —— 直接关,不需要对方同意。
adminStopRoomShare() 强制停止当前正在进行的共享(不指定 uid)。

举手

处理成员的举手请求。HandupType 区分举手用途:mic / camera / chat / share。 成员举手走 onUserHandup(带 UserHandupStep:request / cancel / confirmOpen / rejectOpen),处理结果广播 onAdminConfirmHandup。 详见举手。

布局与 MCU

LayoutType 提供 20 种预置布局:auto / full / grids_2 … grids_25 / right_4 / top_4 / br_7 / tl_7 / tb_8。 McuTaskType:record(纯录制)/ mix(纯混流)/ mixAndRecord(两者)/ audio(录音,1.1.0 起)/ live(直播流,1.1.0 起)。unknown 仅用于解码,不要传给 mcuStop。 服务端的 task_type 是按位组合的(1 录像、2 合流、4 录音、8 直播流,可相加,如开了直播能力的部署上自动录制起的是 9)。所以 mcuStop 自 1.4.0 起 taskType 可省略(停掉全部任务),也接受原始数字 —— 停自动起的任务时直接传 RoomMcuTaskEventData.taskTypeRaw。 任务状态变化通过 onRoomMcuTask 上报,taskStatus 为 exception 时 errDesc 有原因 —— 这个要提示给用户,录制出问题他们需要知道。 McuTaskStatus 的数值自 1.1.0 起与服务端对齐(exception = 3、normal = 4),见类型定义。 详见录制。

邀请与提醒

AgentType 覆盖 sip / h323 / gb28181 / rtsp / rtmp / filePlay / tencentMeet / ai。

等候室

adminMoveOutWaitingRoom 不传参数表示放行全部。 exitWaitingRoom 是成员调用的(不需要主持人权限)—— 在等候室里主动退出。 详见等候室。

子会议

adminCreateSubMeeting 一次传多个标题就一次建多个组。 userHelpSubMeeting() 是成员调用的 —— 在子会议里向主持人求助, 主持人收到 onImUserHelpSubMeeting。 详见子会议。

签到

epoch 是某一轮签到的标识,从 onSignInActivity 事件里拿。 详见签到。

资源与附件

上传是预签名直传的两步式:
PresignedPutObjectType:attach(附件)/ background(会议背景)/ user(用户资源)。 下载同理,用 presignedGetObject 换一个带签名的临时地址。 详见资源与附件。

相关阅读