0 代表成功,非 0 都是错误。
错误码分两类:4~5 位的是服务端返回的业务错误码,6 位的是客户端 SDK 自己产生的错误码。6 位码的结构是 端前缀 + 3 位低位码,会议层的低 3 位按本页的统一码表分配,同一个低位码在各端含义相同。
怎么读一个错误码
端侧类型
Swift SDK 同时支持 iOS 和 macOS,会按运行平台自动使用
203 或 205 前缀。为什么会看到 10Nxxx 开头的错误码
这是正常的,不是 bug。 SMeeting 建在 SRTC 之上。当错误发生在底层音视频通道时(如采集失败、设备权限被拒、推拉流失败),SMeeting 会把 SRTC 的原始错误码原样透传给你,而不是包装成自己的码 —— 这样你能直接定位到问题出在哪一层。
会议层和 SRTC 层的低 3 位是两套独立的表:在 Web 会议 SDK 里同时看到
206003 和 106003 并不矛盾,前者是「不在会议中」,后者是「流轨道不存在」。所以会议 SDK 里判断错误时请比较完整的 6 位码,不要只比低 3 位。
按码判断,不要按文案
- 判断错误类型只看错误码。SDK 自身的报错文案一律是英文,只给开发者和日志看,会随版本调整;不要拿它做分支判断,也不要直接展示给终端用户
- 需要给终端用户看的提示,请按错误码自行映射。各平台错误码页的「建议给用户的提示」列给出了参考文案
language 参数
各端会议 SDK 提供language 设置(名称以各端接口文档为准,如 Web 的初始化参数 language),会同时设置底层 SRTC:
- 取值为语言标签,如
zh-CN、en。不设置时跟随系统语言,取不到时为中文 - SDK 请求会议服务端和 SRTC 服务端时都带上
Accept-Language,服务端业务错误(1000–99999)的文案随之返回中文或英文 - SDK 自身的报错(
20Nxxx,以及透传的10Nxxx)固定为英文,不受language影响 - iOS(Objective-C)自 MeetingKit 2.2.1 起
language同时设置 SRTC 层(2.2.0 只作用于会议服务端请求)
统一码表(会议层低 3 位)
一种语义只有一个码,各端遇到同一场景用同一个码。不是每个端都会用到全部的码,某端实际会产生哪些码见该端的错误码页。各端按新码发版的进度
本表是 2026-09-30 定稿的第 2 版,各端以自己按新码发版的版本为准。尚未发版的端,仍以该端错误码页列出的码为准。旧码 → 新码对照
其它端(Android、Windows)的旧码对照,随该端按新码发版时在其更新日志中给出。透传的 SRTC 层旧码(如
100xxx 通用码)见 SRTC 旧码 → 新码对照。
Android 2.0.41 起的特例说明
以下补充仅适用于 Android,作为本页通用描述的例外:- 错误提示:Meeting SDK 自产错误的
message为空字符串;后端和底层 SRTC 的错误码与提示原样透传。依赖的 SRTC 2.0.38 自产错误提示也为空,不适用上文“SDK 自产错误提示固定为英文”的描述。 - HTTP 状态码:HTTP 非 2xx 响应直接返回 HTTP 状态码和状态消息,不转换为
202007。因此除上述业务错误码和 SDK 错误码外,还可能收到401、404、500等三位状态码;本地网络错误使用202007。