错误码
在调用声网 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 | 没有摄像头使用权限。请检查是否已经打开摄像头权限。 |