错误码
在调用声网 API 过程中,SDK 可能会返回错误码。当收到错误码时,意味着 SDK 遭遇了不可恢复的错误,需要 App 干预。
本文列出常见错误码的详细含义及其解决方法。对于未给出解决方法的错误码,声网推荐你联系技术支持,我们的技术服务会根据你在实际场景中遇到的问题进行排查。
信息
- SDK 在返回错误码时,可能会返回一个负数。这个负数对应着错误码里的正整数。例如返回 -2,则对应错误码里的2。
- 本文中出现的 API 名称以 C++ 为准,其他平台的 API 名称可能会有所不同,请查阅对应平台的 API 文档。
本节所列错误码适用于以下平台的声网 RTC v4.x SDK:
- 原生平台:Android、iOS、macOS、Windows、HarmonyOS NEXT。
- 第三方框架(即基于原生平台封装的第三方平台):Electron、Unity、React Native、Flutter、Unreal。
声网 SDK 在运行过程中,可能通过如下方式返回错误码:
- 在方法调用失败的返回值中,返回一个负数,这个负数就对应着错误码的正数。
- 通过 onError回调报告错误码。
通用错误码
| 枚举值 | 说明 | 
|---|---|
| 1 | 一般性的错误(没有明确归类的错误原因)。请重新调用方法。 | 
| 2 | 方法中设置了无效的参数。例如指定的频道名中含有非法字符。请重新设置参数。 | 
| 3 | SDK 尚未准备好。一般有以下原因: 
 | 
| 4 | 
 
 | 
| 5 | 方法调用被拒绝。一般有以下原因: 
 | 
| 6 | 缓冲区大小不足以存放返回的数据。 | 
| 7 | RtcEngine尚未初始化就调用方法。请确认在调用该方法前已创建RtcEngine对象并完成初始化。 | 
| 8 | 当前状态无效。请查看 SDK 回调日志了解具体原因。 | 
| 9 | 没有操作权限。请检查用户是否授予了 App 音视频设备的使用权限。 | 
| 10 | 方法调用超时。有些方法调用需要 SDK 返回结果,如果 SDK 处理事件过长,超过 10 秒没有返回,会出现此错误。 | 
| 17 | 加入频道被拒绝。一般有以下原因: 
 | 
| 18 | 离开频道失败。一般有以下原因: 
 | 
| 19 | 资源已被占用,不能重复使用。 | 
| 20 | SDK 放弃请求,可能由于请求的次数太多。 | 
| 21 | Windows 下特定的防火墙设置导致 RtcEngine初始化失败然后崩溃。 | 
| 22 | SDK 分配资源失败,可能由于 App 占用资源过多或系统资源耗尽。 | 
| 101 | 不是有效的 App ID。请更换有效的 App ID 重新加入频道。 | 
| 102 | 不是有效的频道名。可能的原因是设置的参数数据类型不正确。请更换有效的频道名重新加入频道。 | 
| 103 | 无法获取当前区域的服务器资源。请在初始化 RtcEngine时尝试指定其他区域。 | 
| 109 | 当前使用的 Token 过期,不再有效。请在服务端申请生成新的 Token,并调用  废弃 该错误码已废弃。请改用  | 
| 110 | Token 无效。一般有以下原因: 
 废弃 该错误码已废弃。请改用  | 
| 111 | 网络连接中断。SDK 在和服务器建立连接后,失去网络连接超过 4 秒。 | 
| 112 | 网络连接丢失。 网络连接中断,且 SDK 无法在 10 秒内连接服务器。 | 
| 119 | 用户切换角色失败,请尝试重新加入频道。 | 
| 120 | 解密失败。可能是用户加入频道时使用了错误的密码。请检查用户加入频道时填入的密码,或引导用户尝试重新加入频道。 | 
| 121 | 该用户 ID 无效。 | 
| 123 | 此用户被服务器禁止。当用户被服务端踢出时会报告这个错误。 | 
| 134 | 无效的 user account,可能是因为设置了无效的参数。 | 
音频相关错误码
| 枚举值 | 说明 | 
|---|---|
| 1005 | 音频设备出现错误(未指明何种错误)。请检查音频设备是否被其他应用占用,或者尝试重新进入频道。 | 
| 1008 | 初始化播放设备出错。请检查播放设备是否被其他应用占用,或者尝试重新进入频道。 | 
| 1009 | 启动播放设备出错。请检查播放设备是否正常。 | 
| 1010 | 停止播放设备出错。 | 
| 1011 | 初始化录音设备出错。请检查录音设备是否正常,或者尝试重新进入频道。 | 
| 1012 | 启动录音设备出错。请检查录音设备是否正常。 | 
| 1013 | 停止录音设备出错。 | 
数据流相关错误码
| 枚举值 | 说明 | 
|---|---|
| 113 | 调用 sendStreamMessage方法时,用户不在频道内。 | 
| 114 | 调用 sendStreamMessage时,发送的数据长度大于 1024 个字节。 | 
| 115 | 调用 sendStreamMessage时,发送数据的频率超过限制(6 KB/s)。 | 
| 116 | 调用 createDataStream时,创建的数据流超过限制(5 个)。 | 
| 117 | 当发送端调用 createDataStream[1/2] 设置reliable为true,或调用createDataStream[2/2] 设置DataStreamConfig.ordered为true时,若接收端在 5 秒内未收到数据,或检测到数据丢失,将在接收端触发onStreamMessageError回调并返回错误码117。 | 
其他错误码
| 枚举值 | 说明 | 
|---|---|
| 130 | SDK 不支持将加密过的流推到 CDN 上。 | 
| 1001 | 加载媒体引擎失败。 | 
| 1501 | 没有摄像头使用权限。请检查是否已经打开摄像头权限。 |