构造与释放
登录
tokenInvalid(208005)/ tokenExpired(208002)
未登录就调其它接口会抛 notLoggedIn(208001)。
会议管理
这一组不要求在会中,登录后即可调用。createRoom(req)
[roomNo, meetingId] —— 两个元素的数组。
MeetingCreateReq 的常用字段(完整清单见类型定义):
预约会议就是在
req 里带上 planTime / planDur。
updateRoom / cancelRoom
detailRoom(meetingId?, roomNo?)
会议列表
分页参数用
PageParam(defaultPageParam() 给一份默认值)。
入会与离会
enterRoom(req)
抛出:
alreadyInMeeting(208006)/ apiError
exitRoom()
会中查询
这一组要求在会中,否则抛notInMeeting(208003)。
getRoomInfo() 返回的 RoomInfo 是判断”按钮能不能点”的依据 ——
里面有 micDisabled / selfUnmuteMicDisabled / locked / shareDisabled 等全部开关。进会后先读一次它初始化 UI,之后靠 onRoom*Change 事件增量更新。聊天与自定义消息
收消息走
onChatMessage / onCustomMessage 事件。
统计
onQualityReport 的分工:后者由 SFU 通过控制面下发,只有 SeaStart 引擎有,是服务端视角;getStats() 是本端观察,两条引擎都有,且能回答服务端答不了的问题(我实际编码出来是多少分辨率、编码器是被 CPU 还是被带宽限住了)。
与「会中查询」那一组不同,不在会中时
getStats() 返回空快照而不抛错 —— 诊断能力不该让业务流程失败。