Role.host 或 Role.coHost,否则抛 unauthorized(208004)。
按角色隐藏 / 禁用按钮,不要靠捕获
unauthorized。
当前角色从 meeting.getUserInfo(myUid).role 读,变化监听 onUserRoleChange。房间开关都是「两个字段一组」
麦克风与摄像头这两组最容易写错:其余单开关
onRoom*Change 事件广播给所有人,事件里带 opUid(谁操作的)。
锁定会议(
locked)后新成员无法加入,但已在会中的不受影响。
被拒绝的成员收到的是 onRoomJoinFailed(不是抛错),所以入会失败处理要
同时写 try/catch 与那个事件。对成员的操作
「请求开」与「直接关」不对称
这是有意的隐私边界:主持人可以关别人的麦克风和摄像头,但不能替别人打开。
成员侧收到请求应当弹窗,同意后调
requestOpenMic(preset, true, adminUid)。移交主持人
一个最小的会控面板
进会后先读一次
getRoomInfo() 初始化 UI,之后靠事件增量更新。
只依赖事件会导致进会瞬间的状态是空的。isHost 的判断: