Skip to main content
SMeeting 的模型围绕三类状态组织:会议状态成员状态媒体状态。各端 SDK 的接口和事件都是在同步这三类状态,理解这一点之后大部分 API 都会变得自然。

房间与会议

两个词经常同时出现,含义不同: 日常接入中你主要打交道的是会议 ID:创建会议拿到它,之后的进入、会控、录制都用它。房间号更多用于对外分发(把号码发给参会者)。

生命周期

  • 登录之后才能调用会议管理接口
  • 进入会议之后才能调用会中接口(媒体控制、会控、消息)
  • 退出会议不影响登录状态,可以接着进下一场
各端 SDK 都会在调用时机不对时返回明确的错误(未登录 / 不在会议中),不用自己维护状态机去猜。

成员与角色

成员的角色决定他能做什么: 会控动作大多是请求 - 批准的形态:成员举手申请开麦,主持人批准;主持人邀请成员开麦,成员同意或拒绝。这样设计是因为开摄像头麦克风涉及用户隐私,不能由主持人单方面强开。

一个用户,多端同时在线

SMeeting 内置了多端在线的支持:同一个用户在手机和电脑上同时进会,会被识别成两个参会身份(按设备类型区分),互不顶替。 这一层映射由 SMeeting 自动完成 —— 底层每个设备各占一个 RTC 身份,但在会议语义上它们属于同一个用户。你不需要自己拼 uid。

与 RTC 层的术语差异

SMeeting 建在 SRTC 之上,两层的名词不通用。混用会让你在读接口文档时反复卡壳: 在 SMeeting 的接口里你只会看到会议语义的命名。
少数地方会看到 RTC 层的说法,那不是笔误:错误码里带「频道」字样的(如「该会话不在频道中」)确实来自底层 RTC,原样透传给你便于排查。

与 SRTC 的关系

用 SMeeting 时底层 SRTC 仍在工作,只是被包在里面,正常接入不需要直接调它。 如果你发现自己在反复绕过会议层去操作底层,通常说明选型需要重新考虑 —— 见 选 SRTC 还是 SMeeting

下一步