AgoraErrorCode Constants Reference
Declared in | AgoraEnumerates.h |
---|
AgoraErrorCode
错误代码
错误代码表示 SDK 运行时出现了(网络或媒体相关的)错误。通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。 比如启动通话失败时,SDK 会上报 AgoraErrorCodeStartCall
= 1002
错误。App 可以提示用户启动通话失败,并调用 leaveChannel 退出频道。
Definition
typedef NS_ENUM(NSInteger, AgoraErrorCode ) {
AgoraErrorCodeNoError = 0,
AgoraErrorCodeFailed = 1,
AgoraErrorCodeInvalidArgument = 2,
AgoraErrorCodeNotReady = 3,
AgoraErrorCodeNotSupported = 4,
AgoraErrorCodeRefused = 5,
AgoraErrorCodeBufferTooSmall = 6,
AgoraErrorCodeNotInitialized = 7,
AgoraErrorCodeNoPermission = 9,
AgoraErrorCodeTimedOut = 10,
AgoraErrorCodeCanceled = 11,
AgoraErrorCodeTooOften = 12,
AgoraErrorCodeBindSocket = 13,
AgoraErrorCodeNetDown = 14,
AgoraErrorCodeNoBufs = 15,
AgoraErrorCodeJoinChannelRejected = 17,
AgoraErrorCodeLeaveChannelRejected = 18,
AgoraErrorCodeAlreadyInUse = 19,
AgoraErrorCodeAbort = 20,
AgoraErrorCodeInitNetEngine = 21,
AgoraErrorCodeResourceLimited = 22,
AgoraErrorCodeInvalidAppId = 101,
AgoraErrorCodeInvalidChannelId = 102,
AgoraErrorCodeNoServerResources = 103,
AgoraErrorCodeTokenExpired = 109,
AgoraErrorCodeInvalidToken = 110,
AgoraErrorCodeConnectionInterrupted = 111,
AgoraErrorCodeConnectionLost = 112,
AgoraErrorCodeNotInChannel = 113,
AgoraErrorCodeSizeTooLarge = 114,
AgoraErrorCodeBitrateLimit = 115,
AgoraErrorCodeTooManyDataStreams = 116,
AgoraErrorCodeDecryptionFailed = 120,
AgoraErrorCodeWatermarkParam = 124,
AgoraErrorCodeWatermarkPath = 125,
AgoraErrorCodeWatermarkPng = 126,
AgoraErrorCodeWatermarkInfo = 127,
AgoraErrorCodeWatermarkAGRB = 128,
AgoraErrorCodeWatermarkRead = 129,
AgoraErrorCodeEncryptedStreamNotAllowedPublish = 130,
AgoraErrorCodeInvalidUserAccount = 134,
AgoraErrorCodePublishStreamCDNError = 151,
AgoraErrorCodePublishStreamNumReachLimit = 152,
AgoraErrorCodePublishStreamNotAuthorized = 153,
AgoraErrorCodePublishStreamInternalServerError = 154,
AgoraErrorCodePublishStreamNotFound = 155,
AgoraErrorCodePublishStreamFormatNotSuppported = 156,
AgoraErrorCodeModuleNotFound = 157,
AgoraErrorCodeAlreadyInRecording = 160,
AgoraErrorCodeLoadMediaEngine = 1001,
AgoraErrorCodeStartCall = 1002,
AgoraErrorCodeStartCamera = 1003,
AgoraErrorCodeStartVideoRender = 1004,
AgoraErrorCodeAdmGeneralError = 1005,
AgoraErrorCodeAdmJavaResource = 1006,
AgoraErrorCodeAdmSampleRate = 1007,
AgoraErrorCodeAdmInitPlayout = 1008,
AgoraErrorCodeAdmStartPlayout = 1009,
AgoraErrorCodeAdmStopPlayout = 1010,
AgoraErrorCodeAdmInitRecording = 1011,
AgoraErrorCodeAdmStartRecording = 1012,
AgoraErrorCodeAdmStopRecording = 1013,
AgoraErrorCodeAdmRuntimePlayoutError = 1015,
AgoraErrorCodeAdmRuntimeRecordingError = 1017,
AgoraErrorCodeAdmRecordAudioFailed = 1018,
AgoraErrorCodeAdmPlayAbnormalFrequency = 1020,
AgoraErrorCodeAdmRecordAbnormalFrequency = 1021,
AgoraErrorCodeAdmInitLoopback = 1022,
AgoraErrorCodeAdmStartLoopback = 1023,
AgoraErrorCodeAdmNoPermission = 1027,
AgoraErrorCodeAdmNoRecordingDevice = 1359,
AgoraErrorCodeAdmNoPlayoutDevice = 1360,
AgoraErrorCodeVdmCameraNotAuthorized = 1501,
AgoraErrorCodeVcmUnknownError = 1600,
AgoraErrorCodeVcmEncoderInitError = 1601,
AgoraErrorCodeVcmEncoderEncodeError = 1602,
AgoraErrorCodeVcmEncoderSetError = 1603,
};
Constants
AgoraErrorCodeNoError
-
0: 没有错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeFailed
-
1: 一般性的错误(没有明确归类的错误原因)。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeInvalidArgument
-
2: API 调用了无效的参数。例如指定的频道名含有非法字符。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeNotReady
-
3: SDK 未准备好。
处理方法:
- 检查音频设备状态
- 检查程序集完整性
- 尝试重新初始化 SDK
Declared In
AgoraEnumerates.h
. AgoraErrorCodeNotSupported
-
4: SDK 当前状态不支持此操作,因此不能进行此操作。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeRefused
-
5: 调用被拒绝。仅供 SDK 内部使用,不通过 API 或者回调事件返回给 App。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeBufferTooSmall
-
6: 传入的缓冲区大小不足以存放返回的数据。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeNotInitialized
-
7: SDK 尚未初始化,就调用其 API。请确认在调用 API 之前已创建 AgoraRtcEngineKit 对象并完成初始化。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeNoPermission
-
9: 没有操作权限,请检查用户是否授予 app 音视频设备使用权限。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeTimedOut
-
10: API 调用超时。有些 API 调用需要 SDK 返回结果,如果 SDK 处理时间过长,超过 10 秒没有返回,会出现此错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeCanceled
-
11: 请求被取消。仅供 SDK 内部使用,不通过 API 或者回调事件返回给 App。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeTooOften
-
12: 调用频率太高。仅供 SDK 内部使用,不通过 API 或者回调事件返回给 App。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeBindSocket
-
13: SDK 内部绑定到网络 Socket 失败。仅供 SDK 内部使用,不通过 API 或者回调事件返回给 App。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeNetDown
-
14: 网络不可用。仅供 SDK 内部使用,不通过 API 或者回调事件返回给 App。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeNoBufs
-
15: 没有网络缓冲区可用。仅供 SDK 内部使用,不通过 API 或者回调事件返回给 App。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeJoinChannelRejected
-
17: 加入频道被拒绝。
一般有以下原因:
- 用户已进入频道,再次调用加入频道的 API,例如 joinChannelByToken,会返回此错误。停止调用该 API 即可。
- 用户在调用 startEchoTestWithInterval 进行通话测试时,尝试加入频道。通话测试开始后,需要先调用 stopEchoTest 结束当前测试,再加入频道。
- 使用已过期的 Token 调用
joinChannelByToken
时也会返回此错误。请使用有效的 Token 重新加入频道。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeLeaveChannelRejected
-
18: 离开频道失败。
一般有以下原因:
- 用户已离开频道,再次调用退出频道的 API,例如 leaveChannel,会返回此错误。停止调用该 API 即可。
- 用户尚未加入频道,就调用退出频道的 API。这种情况下无需额外操作。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAlreadyInUse
-
19: 资源已被占用,不能重复使用。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAbort
-
20: SDK 放弃请求,可能由于请求次数太多。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeInitNetEngine
-
21: Windows 下特定的防火墙设置导致 SDK 初始化失败然后崩溃。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeResourceLimited
-
22: 当用户 App 占用资源过多,或系统资源耗尽时,SDK 分配资源失败会返回该错误.
Declared In
AgoraEnumerates.h
. AgoraErrorCodeInvalidAppId
-
101: 不是有效的 App ID。请更换有效的 App ID 重新加入频道。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeInvalidChannelId
-
102: 不是有效的频道名。请更换有效的频道名重新加入频道。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeNoServerResources
-
103: 无法获取当前指定区域的服务器资源。请在调用 sharedEngineWithConfig 方法时尝试指定其他区域。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeTokenExpired
-
109: 当前使用的 Token 过期,不再有效。
DEPRECATED
从 v2.4.1 起废弃。请改用 connectionChangedToState 回调中reason
参数的AgoraConnectionChangedTokenExpired(9)
。一般有以下原因:
- Token 授权时间戳无效:Token 授权时间戳为 Token 生成时的时间戳,自 1970 年 1 月 1 日开始到当前时间的描述。授权该 Token 在生成后的 24 小时内可以访问声网服务。如果 24 小时内没有访问,则该 Token 无法再使用。需要重新在服务端申请生成 Token。
- Token 服务到期时间戳已过期:用户设置的服务到期时间戳小于当前时间戳,无法继续使用声网服务(比如正在进行的通话会被强制终止);设置服务到期时间并不意味着 Token 失效,而仅仅用于限制用户使用当前服务的时间。需要重新在服务端申请生成 Token。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeInvalidToken
-
110: 生成的 Token 无效。
DEPRECATED
从 v2.4.1 起废弃。请改用 connectionChangedToState 回调中reason
参数的AgoraConnectionChangedInvalidToken(8)
。一般有以下原因:
- 用户在控制台上启用了 App Certificate,但仍旧在代码里仅使用了 App ID。当启用了 App Certificate,必须使用 Token。
- 字段 uid 为生成 Token 的必须字段,用户在调用 joinChannelByToken 加入频道时必须设置相同的 uid。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeConnectionInterrupted
-
111: 网络连接中断。仅适用于 Web SDK。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeConnectionLost
-
112: 网络连接丢失。仅适用于 Web SDK。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeNotInChannel
-
113: 用户不在频道内。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeSizeTooLarge
-
114: 在调用 sendStreamMessage 时,当发送的数据长度大于 1024 个字节时,会发生该错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeBitrateLimit
-
115: 在调用 sendStreamMessage 时,当发送的数据码率超过限制时 (6 Kbps),会发生该错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeTooManyDataStreams
-
116: 在调用 createDataStream 时,如果创建的数据通道过多(超过 5 个通道),会发生该错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeDecryptionFailed
-
120: 解密失败,可能是用户加入频道用了不同的密码。请检查加入频道时的设置,或尝试重新加入频道。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeWatermarkParam
-
124: 水印文件参数错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeWatermarkPath
-
125: 水印文件路径错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeWatermarkPng
-
126: 水印文件格式错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeWatermarkInfo
-
127: 水印文件信息错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeWatermarkAGRB
-
128: 水印文件数据格式错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeWatermarkRead
-
129: 水印文件读取错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeEncryptedStreamNotAllowedPublish
-
130: 推流已加密不能推流。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeInvalidUserAccount
-
134: 无效的 User Account。
Declared In
AgoraEnumerates.h
. AgoraErrorCodePublishStreamCDNError
-
151: CDN 相关错误。请调用 removePublishStreamUrl 方法删除原来的推流地址,然后调用 addPublishStreamUrl 方法重新推流到新地址。
Declared In
AgoraEnumerates.h
. AgoraErrorCodePublishStreamNumReachLimit
-
152: 单个主播的推流地址数目达到上限 10。请删掉一些不用的推流地址再增加推流地址。
Declared In
AgoraEnumerates.h
. AgoraErrorCodePublishStreamNotAuthorized
-
153: 操作不属于主播自己的流,例如更新其他主播的流参数、停止其他主播的流。请检查 App 逻辑。
Declared In
AgoraEnumerates.h
. AgoraErrorCodePublishStreamInternalServerError
-
154: 推流服务器出现错误。请调用 addPublishStreamUrl 重新推流。
Declared In
AgoraEnumerates.h
. AgoraErrorCodePublishStreamNotFound
-
155: 服务器未找到这个流。
Declared In
AgoraEnumerates.h
. AgoraErrorCodePublishStreamFormatNotSuppported
-
156: 推流地址格式有错误。请检查推流地址格式是否正确。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeModuleNotFound
-
157: 未集成扩展库,如 AI 降噪库。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAlreadyInRecording
-
160: 客户端正在录音。如需开始新的录音,请先调用 stopAudioRecording 停止当前录音, 再调用 startAudioRecordingWithConfig。
Available in v3.4.0
Declared In
AgoraEnumerates.h
. AgoraErrorCodeLoadMediaEngine
-
1001: 加载媒体引擎失败。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeStartCall
-
1002: 启动媒体引擎开始通话失败。请尝试重新进入频道。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeStartCamera
-
1003: 启动摄像头失败,请检查摄像头是否被其他应用占用,或者尝试重新进入频道。
DEPRECATED
从 v2.4.1 起废弃。请改用 localVideoStateChange 回调error
参数中的AgoraLocalVideoStreamErrorCaptureFailure(4)
。Declared In
AgoraEnumerates.h
. AgoraErrorCodeStartVideoRender
-
1004: 启动视频渲染模块失败。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmGeneralError
-
1005: 音频设备模块:音频设备出现错误(未明确指明为何种错误)。请检查音频设备是否被其他应用占用,或者尝试重新进入频道。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmJavaResource
-
1006: 音频设备模块:使用 java 资源出现错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmSampleRate
-
1007: 音频设备模块:设置的采样频率出现错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmInitPlayout
-
1008: 音频设备模块:初始化播放设备出现错误。请检查播放设备是否被其他应用占用,或者尝试重新进入频道。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmStartPlayout
-
1009: 音频设备模块:启动播放设备出现错误。请检查播放设备是否正常。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmStopPlayout
-
1010: 音频设备模块:停止播放设备出现错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmInitRecording
-
1011: 音频设备模块:初始化采集设备时出现错误。请检查采集设备是否正常,或者尝试重新进入频道。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmStartRecording
-
1012: 音频设备模块:启动采集设备出现错误。请检查采集设备是否正常。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmStopRecording
-
1013: 音频设备模块:停止采集设备出现错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmRuntimePlayoutError
-
1015: 音频设备模块:运行时播放出现错误。请检查播放设备是否正常,或者尝试重新进入频道。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmRuntimeRecordingError
-
1017: 音频设备模块:运行时采集出现错误。请检查采集设备是否正常,或者尝试重新进入频道。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmRecordAudioFailed
-
1018: 音频设备模块:音频采集失败。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmPlayAbnormalFrequency
-
1020: 音频设备模块:回放频率异常。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmRecordAbnormalFrequency
-
1021: 音频设备模块:采集频率异常。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmInitLoopback
-
1022: 音频设备模块:初始化 Loopback 设备错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmStartLoopback
-
1023: 音频设备模块:启动 Loopback 设备错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmNoPermission
-
1027: 没有使用麦克风的权限。请提示用户开启使用麦克风的权限再重新加入频道。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmNoRecordingDevice
-
1359: 音频设备模块:无采集设备。请检查是否有可用的采集设备或者采集设备是否已经被其他应用占用。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeAdmNoPlayoutDevice
-
1360: 音频设备模块:无播放设备。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeVdmCameraNotAuthorized
-
1501: 视频设备模块:没有摄像头使用权限。请检查是否已经打开摄像头权限。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeVcmUnknownError
-
1600: 视频设备模块:未知错误。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeVcmEncoderInitError
-
1601: 视频设备模块:视频编码器初始化错误。该错误为严重错误,请尝试重新加入频道。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeVcmEncoderEncodeError
-
1602: 视频设备模块:视频编码器错误。该错误为严重错误,请尝试重新加入频道。
Declared In
AgoraEnumerates.h
. AgoraErrorCodeVcmEncoderSetError
-
1603: 视频设备模块:视频 Codec 设置错误。
DEPRECATED
Declared In
AgoraEnumerates.h
.
Declared In
AgoraEnumerates.h