human: 如何处理七牛云的实时音视频错误码

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 使用指南 > iOS >错误码

#  错误码

最近更新时间: 2024-08-16 17:44:40

本文主要介绍 iOS QNRTCKit SDK 相关的错误码及其建议的处理方式。

> 若返回的错误码本文未提及，请[提交工单](https://support.qiniu.com/tickets/new)或者联系七牛技术支持同学协助解决

# 房间相关错误码

枚举值| 错误码| 说明| 处理方式  
---|---|---|---  
QNRTCErrorTokenError| 10001| 房间 Token 错误| 表示您提供的房间 Token 不符合七牛 Token
签算规则，详情请参考 [RoomToken 签发服务](https://developer.qiniu.com/rtc/8813/roomToken)  
QNRTCErrorTokenExpired| 10002| 房间 Token 过期| 表示您的房间 Token 过期，需要重新生成 Token 再加入  
QNRTCErrorUserAlreadyExist| 10022| 房间内已经有同名用户|
后台如果配置为开启“禁止自动踢人”，则同一用户重复加入/未正常退出再加入会触发此错误  
QNRTCErrorMediaCapNotSupport| 10054| 媒体协商失败| 表示该设备不支持指定的音视频格式，无法进行连麦的操作  
QNRTCErrorAuthFailed| 21001| 加入房间认证失败| 服务验证时出错，可能为服务网络异常，也可能是 Token
验证失败，建议检查签算 Token 的信息是否异常，若 Token 无误，可重新尝试加入房间  
QNRTCErrorReconnectFailed| 21003| 房间重连失败| 表示 SDK 发生掉线,并且 30s 内无法完成有效的重连  
QNRTCErrorFatalError| 21005| 非预期错误| 表示 RTC 当前状态异常，需要释放进行重新初始化  
  
> **SDK 重连机制：**
>
>   * SDK 内部会尝试不断重连，但若 30s 内无法完成有效的重连过程，则超时后的重连请求在到达 RTC 服务后会抛出
> `QNRTCErrorReconnectFailed` 错误
>

# 发布 Track 相关错误码

枚举值| 错误码| 说明| 处理方式  
---|---|---|---  
QNRTCErrorInvalidParameter| 10053| 非法参数| 请检查待发布 Track 是否为本地 Track，并且不为空  
QNRTCErrorRoomStateError| 21002| 非法状态| 请检查是否已经加入房间  
QNRTCErrorFatalError| 21005| 非预期错误| 表示 RTC 当前状态异常，需要释放进行重新初始化  
  
# 混音相关错误码

枚举值| 错误码| 说明| 处理方式  
---|---|---|---  
QNAudioMixErrorResampleFailed| 22001| 重采样模块创建失败| 请重新尝试混音操作  
QNAudioMixErrorAudioNotFound| 22002| 混音源没有找到有效音轨| 请检查混音文件的合法性  
QNAudioMixErrorIOException| 22003| 混音源文件 IO 错误| 请检查混音源文件是否存在异常  
QNAudioMixErrorDecoderException| 22004| 系统不支持混音源中的音频类型|
支持的音频文件格式为：aac、mp3、mp4、ogg、opus、wav、m4a、flac  
QNAudioMixErrorSeekFailed| 22005| seek 失败| 请检查是否在开始混音前执行了 Seek 操作  
  
# CDN 转推相关错误码

枚举值| 错误码| 说明| 处理方式  
---|---|---|---  
QNRTCErrorNoPermission| 10051| 无操作权限| 请检查用户的 Token 签算权限  
QNRTCErrorInvalidParameter| 10053| 参数错误| 请检查操作的参数是否合法  
QNRTCErrorRoomStateError| 21002| 状态异常| 请检查房间状态，加入房间后才可以创建转推任务  
QNRTCErrorFatalError| 21005| 服务端错误| 请重新尝试操作或者联系七牛技术支持同学协助定位  
  
# 跨房媒体转发相关错误码

枚举值| 错误码| 说明| 处理方式  
---|---|---|---  
QNMediaRelayErrorTokenError| 24000| 跨房转推 Token 错误| 请检查 Token 是否可用  
QNMediaRelayErrorAlreadyStart| 24001| 当前跨房已开始| 跨房已开始，请确认实际状态  
QNMediaRelayErrorNotStart| 24002| 当前跨房未开始| 跨房未开始，请确认实际状态  
QNMediaRelayErrorDestinationRoomNotExisted| 24003| 目标房间不存在| 请确认目标房间 是否存在  
QNMediaRelayErrorPlayerInDestRoom| 24004| 已在房间内| 不可重复跨进同一房间  
QNMediaRelayErrorStartFailed| 24005| 开始失败| 跨房失败  
QNRTCErrorInvalidMode| 24006| 使用场景不符| 请确认实际使用场景  
QNRTCErrorInvalidRole| 24007| 用户角色不符| 请确认实际用户角色  
  
# 通用错误码

枚举值| 错误码| 说明| 处理方式  
---|---|---|---  
QNErrorCodeNotInitialized| 30001| 没有初始化，用于 SDK 或者对象没有初始化的情况下，调用了 API|
请检查初始化是否正常  
QNErrorCodeUnauthorizedDomain| 30002| 未授权的域名，推流地址的域名，未通过后台审核| 请在后台确认审核状态  
QNErrorCodeDuplicatedOperation| 30003| 重复调用 API，可能会触发下面错误| 请确认调用逻辑  
  
# 录制相关错误码

枚举值| 错误码| 说明| 处理方式  
---|---|---|---  
QNMediaRecorderReasonCodeFormatFailed| 40001| 封装格式操作失败| 请检查传入的文件地址  
QNMediaRecorderReasonCodeStreamFailed| 40002| 流信息操作失败|  
QNMediaRecorderReasonCodeWriteFailed| 40003| 录制过程中写入失败| 请检查数据源  
QNMediaRecorderReasonCodeResampleFailed| 40004| 录制过程中重采样操作失败| 内部错误  
QNMediaRecorderReasonCodeNoTrack| 40005| 没有可录制的流（采集中断或远端取消发布中断超过 5s）| 检查输入的
track  
QNMediaRecorderReasonCodeConfigChanged| 40006| 录制源配置被改变| 检查是否改变了 track
相关配置，视频需确保开启了保持分辨率的配置  
QNMediaRecorderReasonCodeOutOfMemory| 40007| 存储空间不足| 请确认存储空间大小  
QNMediaRecorderReasonCodeScaleFailed| 40008| 录制过程中缩放操作失败| 内部错误  
  
# 播放器相关错误码

枚举值| 错误码| 说明| 处理方式  
---|---|---|---  
QNMediaPlayerOpenFileFailed| 50001| 打开文件失败| 请检查传入的文件地址  
QNMediaPlayerDecoderFailed| 50002| 解码失败| 请检查视频文件格式是否支持  
QNMediaPlayerSeekFailed| 50003| seek 失败| 请确认文件是否支持 seek  
QNMediaPlayerInvalidState| 50004| 无效的播放状态| 请检查当前播放器状态  
  
以上内容是否对您有帮助？