开麦:三个动作,别混用
开麦可能被拒绝
requestOpenMic 里的 request 是实义的 —— 主持人开了全体静音时后端会拒绝。
onRoomMicStateChange,两个字段的语义见
会控。
响应主持人的请求
主持人调adminRequestUserOpenMic(uid) 后,你收到:
第二、三个参数(
byAdmin、adminUid)告诉后端”这是响应请求而非自主开麦”。
SDK 不会自动开 —— 必须先征求用户同意,这是隐私边界。onAdminRequestOpenCamera + requestOpenCamera(preset, true, opUid)。
摄像头
setMuted 这种”假关” —— 用户预期关摄像头就该真的关(指示灯熄灭)。
本地预览:
switchCamera / switchCameraDevice 是原地换设备、不重建轨道,
所以不需要重新发布 —— 比直接用 SRTC 少一层心智负担。按需订阅是控制带宽的主要手段
不要一进会就把所有人的视频都订上。跟着摄像头状态走:MeetingUserInfo.trackDescs 告诉你某个人有哪些流可订 —— 里面有 screen
就说明他在共享,比自己维护状态可靠。
远端音频:三种”关”
isUserAudioMuted(uid) / getMutedAudioUids()。