SMeetingDelegate,注册在引擎上:
所有回调的第一个参数都是引擎实例
meeting,第二个参数是该事件的数据对象。
下面的表格省略第一个参数。两个例外:onUserEnter 的第二个参数直接是 MeetingUserInfo,
onDeviceAdd / onDeviceRemove 的第二个参数直接是 DeviceInfo。连接状态
onReconnecting / onReconnected 之间 SDK 会自行恢复,业务侧只需更新连接指示。
收到 onDisconnected 才走”退出会议”流程。
成员
带
byAdmin 与 opUid? 的事件表示”是谁操作的”:byAdmin 为 true 时
opUid 是操作者。UI 上提示”你已被主持人静音”就靠这两个字段。成员媒体状态
拿到
onUserCameraStateChange 且 cameraState === CameraState.on 时才去
subscribeRemoteVideoTrack(uid),关掉时退订 —— 这是控制带宽的主要手段。
举手
HandupType 区分举手的用途:mic / camera / chat / share;
UserHandupStep 是流转步骤:request / cancel / confirmOpen / rejectOpen。
详见举手。
房间级会控
这一组都是主持人改了全局开关。字段形如xxxDisabled: boolean + opUid?。
micDisabled 与 selfUnmuteMicDisabled 是两件事:micDisabled—— 现在是不是全体静音状态selfUnmuteMicDisabled—— 成员能不能自己解除静音
共享
ShareType 有 screen 与 whiteBoard 两种。
消息
ChatMsgType:text / file / pic / sound。isPrivate 为 true 表示私聊。
msg 统一是字符串 —— 结构化内容(文件、图片元信息)需要自己 JSON.parse。
录制与点名
McuTaskStatus 为 exception 时 errDesc 有原因,UI 上要提示(录制出问题用户需要知道)。
签到
epoch 是这一轮签到的标识,后续查询统计要带上它。
等候室
onMoveToWaitingRoom 没有数据参数,收到就意味着你已经被移出会议主房间 ——
UI 要切到等候页,并停止渲染会议内容。子会议
onAdminMoveSubMeetingUser 带了两侧的标题,可以直接拿来做
“你已被移动到「XX 组」“这种提示。
主持人对我的请求
这是请求而不是命令 —— 应当弹窗征求用户同意,同意后调
requestOpenMic() / requestOpenCamera()。SDK 不会自动开。音频路由与设备
外接设备由系统接管,SDK 只上报不主动切换。详见
音频路由。
质量
这几个的参数类型来自 SRTC,字段说明见
SRTC 类型定义与通话质量。
做 UI 指示器用
onConnectionQualityChange(已做等级判定与抖动抑制),
onQualityReport 是原始采样、适合上报监控。
IM
IM 类事件统一是「
base + content」两段结构:
content 的类型按事件不同。详见 IM。