anyRTC SDK 在调用 API 或运行时,可能会返回错误或警告码:
-
错误码 意味着 SDK 遭遇不可恢复的错误,需要应用程序干预,例如打开摄像头失败会返回错误,应用程序需要提示用户不能使用摄像头。
-
警告码 意味着 SDK 遇到问题,但有可能恢复,警告码仅起告知作用,一般情况下应用程序可以忽略警告码。
如果 API 调用失败,SDK 也可能会返回一个负数,该负数也是一个错误码,对应着错误码和警告码里的正整数。例如返回的错误码为 -2,则对应错误码和警告码里的 2: ERR_INVALID_ARGUMENT 。
错误码
错误码 | 值 | 描述 |
ERR_OK | 0 | 没有错误 |
ERR_FAILED | 1 | 一般性的错误(没有明确归类的错误原因) |
ERR_INVALID_ARGUMENT | 2 | API 调用了无效的参数。例如指定的频道名含有非法字符 |
ERR_NOT_READY | 3 | RTC 初始化失败。处理方法:
|
ERR_NOT_SUPPORTED | 4 | RTC 当前状态禁止此操作,因此不能进行此操作 |
ERR_REFUSED | 5 | 调用被拒绝。仅供 SDK 内部使用,不通过 API 或者回调事件返回给应用程序 |
ERR_BUFFER_TOO_SMALL | 6 | 传入的缓冲区大小不足以存放返回的数据 |
ERR_NOT_INITIALIZED | 7 | SDK 尚未初始化,就调用其 API。请确认在调用 API 之前已创建 RtcEngine 对象并完成初始化 |
ERR_NO_PERMISSION | 9 | 没有操作权限,仅供 SDK 内部使用,不通过 API 或者回调事件返回给应用程序 |
ERR_TIMEDOUT | 10 | API 调用超时。有些 API 调用需要 SDK 返回结果,如果 SDK 处理事件过程,会出现此错误 |
ERR_CANCELED | 11 | 请求被取消。仅供 SDK 内部使用,不通过 API 或者回调事件返回给应用程序 |
ERR_TOO_OFTEN | 12 | 调用频率太高。仅供 SDK 内部使用,不通过 API 或者回调事件返回给应用程序 |
ERR_BIND_SOCKET | 13 | SDK 内部绑定到网络 Socket 失败。仅供 SDK 内部使用,不通过 API 或者回调事件返回给应用程序 |
ERR_NET_DOWN | 14 | 网络不可用。仅供 SDK 内部使用,不通过 API 或者回调事件返回给应用程序 |
ERR_NET_NOBUFS | 15 | 没有网络缓冲区可用。仅供 SDK 内部使用,不通过 API 或者回调事件返回给应用程序 |
ERR_JOIN_CHANNEL_REJECTED | 17 | 加入频道被拒绝。一般有以下原因:
|
ERR_LEAVE_CHANNEL_REJECTED | 18 | 离开频道失败。一般有以下原因:
|
ERR_ALREADY_IN_USE | 19 | 资源已被占用,不能重复使用 |
ERR_ABORTED | 20 | SDK 放弃请求,可能由于请求次数太多。仅供 SDK 内部使用,不通过 API 或者回调时间返回给应用程序 |
ERR_INIT_NET_ENGINE | 21 | Windows 下特定的防火墙设置导致 SDK 初始化失败然后崩溃 |
ERR_INVALID_VENDOR_KEY | 101 | 不是有效的 App ID。请更换有效的 App ID 重新加入频道 |
ERR_INVALID_CHANNEL_NAME | 102 | 不是有效的频道名。请更换有效的频道名重新加入频道 |
ERR_CHANNEL_KEY_EXPIRED | 109 | 当前使用的 Token 过期,不再有效。一般有以下原因:
|
ERR_INVALID_CHANNEL_KEY | 110 | 生成的 Token 无效,一般有以下原因:
|
ERR_CONNECTION_INTERRUPTED | 111 | 网络连接中断。仅适用于 anyRTC Web SDK |
ERR_CONNECTION_LOST | 112 | 网络连接丢失。仅适用于 anyRTC Web SDK |
ERR_NOT_IN_CHANNEL | 113 | 用户不在频道内 |
ERR_SIZE_TOO_LARGE | 114 | 数据太大 |
ERR_BITRATE_LIMIT | 115 | 码率受限 |
ERR_TOO_MANY_DATA_STREAMS | 116 | 数据流/通道过多 |
ERR_STREAM_MESSAGE_TIMEOUT | 117 | 数据流发送超时 |
ERR_SET_CLIENT_ROLE_NOT_AUTHORIZED | 119 | 切换角色失败。请尝试重新加入频道 |
ERR_DECRYPTION_FAILED | 120 | 解密失败,可能是用户加入频道用了不同的密码。请检查加入频道时的设置,或尝试重新加入频道 |
ERR_CLIENT_IS_BANNED_BY_SERVER | 123 | 此用户被服务器禁止 |
ERR_WATERMARK_PARAM | 124 | 水印文件参数错误 |
ERR_WATERMARK_PATH | 125 | 水印文件路径错误 |
ERR_WATERMARK_PNG | 126 | 水印文件格式错误 |
ERR_WATERMARKR_INFO | 127 | 水印文件信息错误 |
ERR_WATERMARK_ARGB | 128 | 水印文件数据格式错误 |
ERR_WATERMARK_READ | 129 | 水印文件读取错误 |
ERR_LOAD_MEDIA_ENGINE | 1001 | 加载媒体引擎失败 |
ERR_START_CALL | 1002 | 启动媒体引擎开始通话失败。请尝试重新进入频道 |
ERR_START_CAMERA | 1003 | 启动摄像头失败,请检查摄像头是否被其他应用占用,或者尝试重新进入频道 |
ERR_START_VIDEO_RENDER | 1004 | 启动视频渲染模块失败 |
ERR_ADM_GENERAL_ERROR | 1005 | 音频设备模块:音频初始化失败。请检查音频设备是否被其他应用占用,或者尝试重新进入频道 |
ERR_ADM_JAVA_RESOURCE | 1006 | 音频设备模块:使用 java 资源出现错误 |
ERR_ADM_SAMPLE_RATE | 1007 | 音频设备模块:设置的采样频率出现错误 |
ERR_ADM_INIT_PLAYOUT | 1008 | 音频设备模块:初始化播放设备出现错误。请检查播放设备是否被其他应用占用,或者尝试重新进入频道 |
ERR_ADM_START_PLAYOUT | 1009 | 音频设备模块:启动播放设备出现错误。请检查播放设备是否正常,或者尝试重新进入频道 |
ERR_ADM_STOP_PLAYOUT | 1010 | 音频设备模块:停止播放设备出现错误 |
ERR_ADM_INIT_RECORDING | 1011 | 音频设备模块:初始化录音设备时出现错误。请检查录音设备是否正常,或者尝试重新进入频道 |
ERR_ADM_START_RECORDING | 1012 | 音频设备模块:启动录音设备出现错误。请检查录音设备是否正常,或者尝试重新进入频道 |
ERR_ADM_STOP_RECORDING | 1013 | 音频设备模块:停止录音设备出现错误 |
ERR_ADM_RUNTIME_PLAYOUT_ERROR | 1015 | 音频设备模块:运行时播放出现错误。请检查录音设备是否正常,或者尝试重新进入频道 |
ERR_ADM_RUNTIME_RECORDING_ERROR | 1017 | 音频设备模块:运行时录音错误。请检查录音设备是否正常,或者尝试重新进入频道 |
ERR_ADM_RECORD_AUDIO_FAILED | 1018 | 音频设备模块:录音失败 |
ERR_ADM_INIT_LOOPBACK | 1022 | 音频设备模块:初始化 Loopback 设备错误 |
ERR_ADM_START_LOOPBACK | 1023 | 音频设备模块:启动 Loopback 设备错误 |
ERR_ADM_NO_PERMISSION | 1027 | 音频设备模块:没有录音权限。请检查是否已经打开权限允许录音 |
ERR_ADM_NO_RECORDING_DEVICE | 1359 | 音频设备模块:无录制设备。请检查是否有可用的录放音设备或者录放音设备是否已经被其他应用占用 |
ERR_ADM_NO_PLAYOUT_DEVICE | 1360 | 音频设备模块:无播放设备 |
ERR_VDM_CAMERA_NOT_AUTHORIZED | 1501 | 视频设备模块:没有摄像头使用权限。请检查是否已经打开摄像头权限 |
ERR_VCM_UNKNOWN_ERROR | 1600 | 视频设备模块:未知错误 |
ERR_VCM_ENCODER_INIT_ERROR | 1601 | 视频设备模块:视频 Codec 初始化错误。该错误为严重错误,请尝试重新加入频道 |
ERR_VCM_ENCODER_ENCODE_ERROR | 1602 | 视频设备模块:视频 Codec 错误。该错误为严重错误,请尝试重新加入频道 |
ERR_VCM_ENCODER_SET_ERROR | 1603 | 视频设备模块:视频 Codec 设置错误 |
警告码
警告码 | 值 | 描述 |
WARN_INVALID_VIEW | 8 | 指定的view无效,使用视频功能时需要指定 view,如果 view>尚未指定,则用户看不到视频画面,并返回该警告 |
WARN_INIT_VIDEO | 16 | 初始化视频功能失败。用户无法看到视频画面,但不影响语音通信。有可能是因视频资源被占用导致的 |
WARN_NO_AVAILABLE_CHANNEL | 103 | 没有可用的频道资源。可能是因为服务端没法分配频道资源。如出现警告,一般无法进行通话 |
WARN_LOOKUP_CHANNEL_TIMEOUT | 104 | 查找频道超时。在加入频道时 SDK 先要查找指定的频道,出现该警告一般是因为网络太差,连接不到服务器。网络条件改善时,可自动恢复通话 |
WARN_LOOKUP_CHANNEL_REJECTED | 105 | 查找频道请求被服务器拒绝。服务器可能没有办法处理这个请求或请求是非法的。一般不会出现该警告。如果出现请尝试退出后重新进入频道 |
WARN_OPEN_CHANNEL_TIMEOUT | 106 | 打开频道超时。查找到指定频道后,SDK 接着打开该频道,超时一般是因为网络太差,连接不到服务器。网络条件改善时,可自动恢复通话 |
WARN_OPEN_CHANNEL_REJECTED | 107 | 打开频道请求被服务器拒绝。服务器可能没有办法处理该请求或该请求是非法的。一般不会出现干警告。如果出现请尝试退出后重新进入频道 |
WARN_SET_CLIENT_ROLE_TIMEOUT | 118 | 直播场景下设置用户模式超时。出现该警告无法自动恢复通话 |
WARN_SET_CLIENT_ROLE_NOT_AUTHORIZED | 119 | 直播场景下用户模式未授权。出现该警告无法自动恢复通话 |
WARN_OPEN_CHANNEL_INVALID_TICKET | 121 | App ID 或动态密钥非法,打开频道失败。请检查 App ID 或动态密钥是否有效,如果无效,请重新获取或生成后,重新进入频道 |
WARN_OPEN_CHANNEL_TRY_NEXT_VOS | 122 | 该警告表示正在换一个服务器重新登录。登录成功后可自动恢复通话 |
WARN_AUDIO_MIXING_OPEN_ERROR | 701 | 打开伴奏出错。该警告不影响正常通话 |
WARN_ADM_RUNTIME_PLAYOUT_WARNING | 1014 | 音频设备模块:运行时播放设备出现警告。该警告不影响正常通话 |
WARN_ADM_RUNTIME_RECORDING_WARNING | 1016 | 音频设备模块:运行时录音设备出现警告。该警告不影响正常通话 |
WARN_ADM_RECORD_AUDIO_SILENCE | 1019 | 音频设备模块:没有采集到有效的声音数据。该警告不影响正常通话 |
WARN_ADM_RECORD_AUDIO_LOWLEVEL | 1031 | 音频设备模块:录到的声音太低。该警告不影响正常通话 |
WARN_ADM_PLAYOUT_AUDIO_LOWLEVEL | 1032 | 音频设备模块:播放的声音太低。该警告不影响正常通话 |
WARN_ADM_RECORD_IS_OCCUPIED | 1033 | 音频设备模块:录制设备被占用。该警告不影响正常通话 |
WARN_APM_HOWLING | 1051 | 音频设备模块:录音声音异常。该警告不影响正常通话 |
WARN_ADM_GLITCH_STATE | 1052 | 音频设备模块:音频播放会卡顿。该警告不影响正常通话 |
WARN_ADM_IMPROPER_SETTINGS | 1053 | 音频设备模块:音频底层设置被修改。该警告不影响正常通话 |