在调用声网 API 过程中,SDK 可能会返回错误码。当收到错误码时,意味着 SDK 遭遇了不可恢复的错误,需要 app 干预。
本文列出常见错误码的详细含义及其的解决方法。对于未给出解决方法的错误码,声网推荐你联系技术支持,我们的技术服务会根据你在实际场景中遇到的问题进行排查。
-2
,则对应错误码里的 2
。本节所列错误码适用于以下平台的声网 RTC v4.x SDK:
声网 SDK 在运行过程中,可能通过如下方式返回错误码:
onError
回调报告错误码。枚举值 | 说明 |
---|---|
0 |
没有错误。 |
1 |
一般性的错误(没有明确归类的错误原因)。请重新调用方法。 |
2 |
方法中设置了无效的参数。例如指定的频道名中含有非法字符。请重新设置参数。 |
3 |
SDK 尚未准备好。一般有以下原因:RtcEngine 初始化失败。请重新初始化 RtcEngine 。rate 或 complain 方法时用户尚未离开频道,请检查方法的调用逻辑。 |
4 |
RtcEngine 当前状态不支持该操作。一般有以下原因:请检查加密的枚举值是否正确,或重新加载外部加密库。 |
5 |
方法调用被拒绝。一般有以下原因:RtcEngine 初始化失败。请重新初始化 RtcEngine 。"" 。请重新设置频道名。joinChannel 方法加入频道时,设置的频道名已存在。请重新设置频道名。joinChannelEx 方法加入频道时,设置的频道名已存在。请重新设置频道名。 |
6 |
缓冲区大小不足以存放返回的数据。 |
7 |
RtcEngine 尚未初始化就调用方法。请确认在调用该方法前已创建 RtcEngine 对象并完成初始化。 |
9 |
没有操作权限。请检查用户是否授予了 app 音视频设备的使用权限。 |
10 |
方法调用超时。有些方法调用需要 SDK 返回结果,如果 SDK 处理事件过长,超过 10 秒没有返回,会出现此错误。 |
17 |
加入频道被拒绝。一般有以下原因:onConnectionStateChanged 回调判断用户是否在频道中。除非收到 CONNECTION_STATE_DISCONNECTED (1) 状态,否则请勿再次调用该方法加入频道。startEchoTest 进行通话测试时,未调用 stopEchoTest 结束当前测试,就尝试加入频道。开始通话测试后,需要先调用 stopEchoTest 结束当前测试,再加入频道。 |
18 |
离开频道失败。一般有以下原因:leaveChannel 时,会返回此错误。停止调用该方法即可。leaveChannel 等退出频道的方法。这种情况下无需额外操作。 |
19 |
资源已被占用,不能重复使用。 |
20 |
SDK 放弃请求,可能由于请求的次数太多。 |
21 |
Windows 下特定的防火墙设置导致 RtcEngine 初始化失败然后崩溃。 |
22 |
SDK 分配资源失败,可能由于 app 占用资源过多或系统资源耗尽。 |
101 |
不是有效的 App ID。请更换有效的 App ID 重新加入频道。 |
102 |
不是有效的频道名。可能的原因是设置的参数数据类型不正确。请更换有效的频道名重新加入频道。 |
103 |
无法获取当前区域的服务器资源。请在初始化 RtcEngine 时尝试指定其他区域。 |
109 |
弃用:该错误码已废弃。请改用 当前使用的 Token 过期,不再有效。请在服务端申请生成新的 Token,并调用 onConnectionStateChanged 回调中的 CONNECTION_CHANGED_TOKEN_EXPIRED (9)。renewToken 更新 Token。 |
110 |
弃用:该错误码已废弃。请改用 Token 无效。一般有以下原因:onConnectionStateChanged 回调中的 CONNECTION_CHANGED_INVALID_TOKEN (8)。uid 字段,和用户加入频道时填入的 uid 不一致。 |
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 |
数据流发送超时。 |
枚举值 | 说明 |
---|---|
130 |
SDK 不支持将加密过的流推到 CDN 上。 |
1001 |
加载媒体引擎失败。 |
1501 |
没有摄像头使用权限。请检查是否已经打开摄像头权限。 |
如果你使用的是声网 RTC Web SDK 4.x 版本,请参考错误码查看详细的错误码描述。
声网 Miniapp SDK for WeChat 在调用 API 或运行时,可能会返回一个错误码对象,也可能会返回一个错误码:
reason
中的描述自行判断发生引起错误的原因,然后进行排查reason
,你可以对照错误码参考本文进行排查。错误码 | 报错原因 | 排查方法 |
---|---|---|
401 |
请求异常 | 根据 reason 描述检查使用是否符合要求;如果报的是 invalid vendor key ,请开通小程序服务权限,详见微信小程序快速开始 。 |
429 |
请求太频繁 | 根据 reason 描述检查使用是否符合要求。 |
430 |
根据 reason 描述检查使用是否符合要求。 |
|
431 |
setRole 传入的参数错误uid 传入出错uid 不匹配 |
根据 reason 描述检查使用是否符合要求。 |
432 |
订阅了一个非主播的 uid |
根据 reason 描述检查使用是否符合要求。 |
433 |
根据 reason 描述检查使用是否符合要求。 |
|
434 |
setRole 发布流时的 uid 和加入频道时的 uid 不一致uid 和加入频道时的 uid 不一致uid 和加入频道时的 uid 不一致 |
根据 reason 描述检查使用是否符合要求。 |
500 |
内部错误 | 退出频道并销毁 client 对象后,重建 client 对象,调用 rejoin 方法尝试重连。 |
501 |
服务进程异常失去连接 | 退出频道并销毁 client 对象后,重建 client 对象,调用 rejoin 方法尝试重连。 |
502 |
当前服务器过载 | 退出频道并销毁 client 对象后,重建 client 对象,调用 rejoin 方法尝试重连。 |
503 |
服务进程正常退出 | 无。 |
901 |
未找到服务器 | 检查是否开启小程序的服务权限;也可能是没有配置域名或 uid 参数格式不正确;你还可以检查网络;检查传入的 App ID 、Token 是否有效。 |
903 |
发送消息超时 | 鉴权失败,可能是因为未填入 Token;也可能是因为网络连接状况不理想,请检查网络。 |
904 |
websocket 断开 | 退出频道并销毁 client 对象后,重建 client 对象,调用 rejoin 方法尝试重连。 |
905 |
websocket 连接失败 | 退出频道并销毁 client 对象后,重建 client 对象,调用 rejoin 方法尝试重连。 |