错误码
- Unreal C++
更新时间不可用
查询实时互动 RTC 的 SDK 错误码含义、常见原因和处理建议。
在调用声网 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 | 用户账号无效,可能是因为设置了无效的参数。 |
音频相关错误码
| 枚举值 | 说明 |
|---|---|
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 | 没有摄像头使用权限。请检查是否已经打开摄像头权限。 |
信息
- 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 | 用户账号无效,可能是因为设置了无效的参数。 |
音频相关错误码
| 枚举值 | 说明 |
|---|---|
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 | 没有摄像头使用权限。请检查是否已经打开摄像头权限。 |
信息
- 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 | 用户账号无效,可能是因为设置了无效的参数。 |
音频相关错误码
| 枚举值 | 说明 |
|---|---|
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 | 没有摄像头使用权限。请检查是否已经打开摄像头权限。 |
信息
- 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 | 用户账号无效,可能是因为设置了无效的参数。 |
音频相关错误码
| 枚举值 | 说明 |
|---|---|
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 | 没有摄像头使用权限。请检查是否已经打开摄像头权限。 |
信息
- 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 | 用户账号无效,可能是因为设置了无效的参数。 |
音频相关错误码
| 枚举值 | 说明 |
|---|---|
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 | 没有摄像头使用权限。请检查是否已经打开摄像头权限。 |
信息
- 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 | 用户账号无效,可能是因为设置了无效的参数。 |
音频相关错误码
| 枚举值 | 说明 |
|---|---|
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 | 没有摄像头使用权限。请检查是否已经打开摄像头权限。 |
信息
- 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 | 用户账号无效,可能是因为设置了无效的参数。 |
音频相关错误码
| 枚举值 | 说明 |
|---|---|
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 | 没有摄像头使用权限。请检查是否已经打开摄像头权限。 |
信息
- 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 | 用户账号无效,可能是因为设置了无效的参数。 |
音频相关错误码
| 枚举值 | 说明 |
|---|---|
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 | 没有摄像头使用权限。请检查是否已经打开摄像头权限。 |
信息
- 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 | 用户账号无效,可能是因为设置了无效的参数。 |
音频相关错误码
| 枚举值 | 说明 |
|---|---|
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 | 没有摄像头使用权限。请检查是否已经打开摄像头权限。 |
信息
- 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 | 用户账号无效,可能是因为设置了无效的参数。 |
音频相关错误码
| 枚举值 | 说明 |
|---|---|
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 | 没有摄像头使用权限。请检查是否已经打开摄像头权限。 |
信息
- 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 | 用户账号无效,可能是因为设置了无效的参数。 |
音频相关错误码
| 枚举值 | 说明 |
|---|---|
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 | 没有摄像头使用权限。请检查是否已经打开摄像头权限。 |
SDK 可能以下列方式抛出错误码:
- 对于异步方法,SDK 返回 Promise 来通知异步操作的结果,Promise 被 reject 时 SDK 会抛出相应的错误码。
- 同步方法调用失败时,SDK 直接抛出错误码。
- SDK 内部运行过程中,也可能抛出一些网络相关的错误码。
你可参考本文了解这些错误码的详细含义及处理方法。
SDK 的错误码对象 AgoraRTCError 继承自浏览器的 Error 对象。你需要通过 AgoraRTCError.code 在控制台上打印出错误码,直接打印 AgoraRTCError 对象只能看到错误信息。
通用错误码
| 错误码 | 描述 | 处理方法 |
|---|---|---|
UNEXPECTED_ERROR | 无法处理的、非预期的错误,通常这个错误会有具体的错误提示。 | 无。 |
UNEXPECTED_RESPONSE | 服务端返回了非预期的响应。这个错误通常是在网络问题导致客户端与服务端状态不一致时抛出。 | 等待网络稳定后重试该操作。 |
INVALID_PARAMS | 非法参数。 | 根据具体提示确认操作,并根据文档传入正确的参数。 |
NOT_SUPPORTED | 浏览器不支持。 | 参考浏览器支持情况。 |
INVALID_OPERATION | 非法操作,通常是因为在当前状态不能进行该操作。 | 确认操作的先后顺序,比如发布前请确认已经加入频道。 |
OPERATION_ABORTED | 操作中止,通常是因为网络质量差或连接断开导致与声网服务器通信失败。 | 通过 AgoraRTCClient.on("user-joined") 回调确认本地网络状况,并重试该操作。 |
WEB_SECURITY_RESTRICT | 浏览器安全策略限制。 | 请确保 Web 页面运行在安全环境中。 |
NO_ACTIVE_STATUS | 声网项目未激活或被禁用。 | 请前往声网控制台确认项目状态是否为启用。 |
请求相关错误码
网络连接
| 错误码 | 描述 | 处理方法 |
|---|---|---|
NETWORK_TIMEOUT | 请求超时,通常是因为网络质量差或连接断开导致与声网服务器通信失败。 | 通过 AgoraRTCClient.on("user-joined") 回调确认本地网络状况,并重试该操作。 |
NETWORK_RESPONSE_ERROR | 响应错误,一般是状态码非法。 | 确认操作的参数是否正确,并根据文档传入正确的参数。 |
NETWORK_ERROR | 无法定位的网络错误。 | 无。 |
SDK 内部请求
| 错误码 | 描述 | 处理方法 |
|---|---|---|
WS_ABORT | 请求声网服务器过程中 WebSocket 断开。 | 监听 AgoraRTCClient.on("connection-state-change") 事件,待连接状态变为 CONNECTED 后重试。 |
WS_DISCONNECT | 请求声网服务器前,WebSocket 就已经断开。 | 监听 AgoraRTCClient.on("connection-state-change") 事件,待连接状态变为 CONNECTED 后重试。 |
WS_ERR | WebSocket 连接发生错误。 | 检查当前浏览器对 WebSocket 的支持情况。 |
设备管理相关错误码
| 错误码 | 描述 | 处理方法 |
|---|---|---|
ENUMERATE_DEVICES_FAILED | 枚举本地设备失败,一般是由于浏览器限制。 | 无。 |
DEVICE_NOT_FOUND | 无法找到指定设备。 | 传入正确的设备 ID。 |
Track 相关错误码
| 错误码 | 描述 | 处理方法 |
|---|---|---|
TRACK_IS_DISABLED | 轨道被禁用,通常因为轨道设置了 Track.setEnabled(false)。 | 对该轨道调用 Track.setEnabled(true) 后再进行操作。 |
SHARE_AUDIO_NOT_ALLOWED | 屏幕共享音频时终端用户没有点击分享音频。 | 要求终端用户在弹出的屏幕共享窗口中勾选分享音频。 |
MEDIA_OPTION_INVALID | 不支持的媒体采集的参数。 | 修改媒体采集参数或使用 SDK 预设的配置。 |
CONSTRAINT_NOT_SATISFIED | 不支持的媒体采集的参数。 | 修改媒体采集参数或使用 SDK 预设的配置。 |
PERMISSION_DENIED | 获取媒体设备权限被拒绝。 | 在弹出的获取设备权限窗口中选择允许。 |
NOT_READABLE | 用户已经授权,但媒体设备无法访问。 | 检查当前采集设备和驱动程序是否出错。 |
FETCH_AUDIO_FILE_FAILED | 下载在线音频文件失败。 | 填入正确的在线音频地址,并确保可以正常访问。 |
READ_LOCAL_AUDIO_FILE_ERROR | 读取本地音频文件失败。 | 填入正确的本地音频文件路径。 |
DECODE_AUDIO_FILE_FAILED | 音频文件解码失败,可能是因为音频文件的编码格式是浏览器 WebAudio 不支持的编码格式。 | 检查浏览器 WebAudio 是否支持音频文件的编码格式。 |
Client 相关错误码
加入频道
下表列出加入频道失败时 SDK 抛出的错误码。
| 错误码 | 描述 | 处理方法 |
|---|---|---|
UID_CONFLICT | 同一个频道内 UID 重复。 | 使用不同的 UID 进入频道。 |
INVALID_UINT_UID_FROM_STRING_UID | String UID 分配服务返回了非法的 int UID。 | 使用不同的 UID 进入频道。 |
CAN_NOT_GET_PROXY_SERVER | 无法获取云代理服务地址。 | 无。 |
CAN_NOT_GET_GATEWAY_SERVER | 无法获取声网服务器地址。 | 无。 |
发布/取消发布
下表列出发布或取消发布失败时 SDK 抛出的错误码。
| 错误码 | 描述 | 处理方法 |
|---|---|---|
INVALID_LOCAL_TRACK | 传入了非法的 LocalTrack。 | 检查传入的 Track,并传入正确的 LocalTrack。 |
CAN_NOT_PUBLISH_MULTIPLE_VIDEO_TRACKS | 一个 Client 发布多个视频轨道。 | 一个 Client 同一时间只能发布一个视频轨道,如果想发布多个视频轨道请创建多个 Client。 |
订阅/取消订阅
下表列出订阅或取消订阅失败时 SDK 抛出的错误码。
| 错误码 | 描述 | 处理方法 |
|---|---|---|
INVALID_REMOTE_USER | 非法的远端用户,可能是远端用户不在频道内或还未发布任何媒体轨道。 | 收到 AgoraRTCClient.on("user-published") 事件后再进行订阅操作。 |
REMOTE_USER_IS_NOT_PUBLISHED | 远端用户已发布了音频或视频轨道,但不是与你的订阅操作所指定的类型不符。 | 请确保订阅操作传入的轨道类型需要与 AgoraRTCClient.on("user-published") 事件给出的类型一致,或者在订阅前通过 AgoraRTCRemoteUser.hasVideo 和 AgoraRTCRemoteUser.hasAudio 确认远端用户是否发布了该类型的轨道。 |
ERR_TOO_MANY_BROADCASTERS | 频道内主播人数超过上限。 | 控制主播人数。例如:仅在用户需要发布音视频轨道的时候调用 Client.setClientRole,将用户角色切换为主播。 |
ERR_TOO_MANY_SUBSCRIBERS | 当前用户订阅的主播人数超过上限。 | 按需订阅主播。 |
推流到 CDN
下表列出推流到 CDN 失败时 SDK 抛出的错误码。
| 错误码 | 描述 | 处理方法 |
|---|---|---|
LIVE_STREAMING_TASK_CONFLICT | 推流任务已经存在。 | 先调用 Client.stopLiveStreaming 停止该推流任务再重新进行推流操作。 |
LIVE_STREAMING_INVALID_ARGUMENT | 推流参数错误。 | 参考 Client.startLiveStreaming 的 API 文档检查推流操作的参数。 |
LIVE_STREAMING_INTERNAL_SERVER_ERROR | 推流服务器内部错误。 | 重新进行推流操作,如果仍然失败,刷新页面重试。 |
LIVE_STREAMING_PUBLISH_STREAM_NOT_AUTHORIZED | 推流 URL 被占用。 | 检查填入的 URL 是否被占用。 |
LIVE_STREAMING_CDN_ERROR | 推流的目标 CDN 出现错误导致推流失败。 | 确认目标 CDN 的健康状况。 |
LIVE_STREAMING_INVALID_RAW_STREAM | 推流超时。 | 确认目标流是否存在。 |
跨频道连麦
下表列出跨频道连麦失败时 SDK 抛出的错误码。
| 错误码 | 描述 |
|---|---|
CROSS_CHANNEL_WAIT_STATUS_ERROR | 等待 AgoraRTCClient.on("channel-media-relay-state") 回调出错。 |
CROSS_CHANNEL_FAILED_JOIN_SRC | 发起跨频道转发媒体流请求失败。 |
CROSS_CHANNEL_FAILED_JOIN_DEST | 接受跨频道转发媒体流请求失败。 |
CROSS_CHANNEL_FAILED_PACKET_SENT_TO_DEST | 服务器接收跨频道转发媒体流失败。 |
CROSS_CHANNEL_SERVER_ERROR_RESPONSE | 服务器响应出错。 |
调用声网 RTC 小程序 API 或运行时,SDK 可能会返回一个错误码对象,也可能会返回一个错误码:
- 错误码对象:包含错误码和对报错原因的描述,你可以根据
reason中的描述自行判断发生引起错误的原因,然后进行排查 - 错误码:该类错误码中没有相应的
reason,你可以对照错误码参考本文进行排查。
| 错误码 | 报错原因 | 排查方法 |
|---|---|---|
401 | 请求异常 | 根据 reason 描述检查使用是否符合要求;如果报的是 invalid vendor key,请开通小程序服务权限,详见开启小程序服务。 |
429 | 请求太频繁 | 根据 reason 描述检查使用是否符合要求。 |
430 |
| 根据 reason 描述检查使用是否符合要求。 |
431 |
| 根据 reason 描述检查使用是否符合要求。 |
432 | 订阅了一个非主播的 uid | 根据 reason 描述检查使用是否符合要求。 |
433 |
| 根据 reason 描述检查使用是否符合要求。 |
434 |
| 根据 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 方法尝试重连。 |