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