错误码汇总
更新时间:2023-02-27
HTTP识别错误码说明
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
错误码 | 错误信息 | 描述 |
---|---|---|
4 | Open api request limit reached | 集群超限额 |
6 | No permission to access data | 对控制台内app进行编辑,添加语音权限 |
14 | IAM Certification failed | IAM鉴权失败,建议用户参照文档自查生成sign的方式是否正确,或换用控制台中ak sk的方式调用 |
17 | Open api daily request limit reached | 每天流量超限额 |
18 | Open api qps request limit reached | 并发超限额 |
19 | Open api total request limit reached | 请求总量超限额 |
100 | Invalid parameter | 无效参数 |
110 | Access token invalid or no longer valid | Access Token失效 |
111 | Access token expired | Access token过期 |
错误码 | 用户输入/服务端 | 含义 | 一般解决方法 |
---|---|---|---|
3300 | 用户输入错误 | 输入参数不正确 | 请仔细核对文档及参照demo,核对输入参数 |
3301 | 用户输入错误 | 音频质量过差 | 请上传清晰的音频 |
3302 | 用户输入错误 | 鉴权失败 | token字段校验失败。请使用正确的API_KEY 和 SECRET_KEY生成。或并发、调用量超出限额。或音频采样率不正确(可尝试更换为16k采样率)。 |
3303 | 服务端问题 | 语音服务器后端问题 | 请将api返回结果反馈至论坛或者QQ群 |
3304 | 用户请求超限 | 用户的请求并发超限 | 请降低识别并发请求频率 (并发以appId计算,移动端如果共用则累计) |
3305 | 用户请求超限 | 用户的日pv(日请求量)超限 | 请“申请提高配额”,如果暂未通过,请降低日请求量 |
3307 | 服务端问题 | 语音服务器后端识别出错问题 | 目前请确保16000的采样率音频时长低于30s。如果仍有问题,请将api返回结果反馈至论坛或者QQ群 |
3308 | 用户输入错误 | 音频过长 | 音频时长不超过60s,请将音频时长截取为60s以下 |
3309 | 用户输入错误 | 音频数据问题 | 服务端无法将音频转为pcm格式,可能是长度问题,音频格式问题等。 请将输入的音频时长截取为60s以下,并核对下音频的编码,是否是16K或8k, 16bits,单声道。 |
3310 | 用户输入错误 | 输入的音频文件过大 | 语音文件共有3种输入方式: json 里的speech 参数(base64后); 直接post 二进制数据,及callback参数里url。 分别对应三种情况:json超过10M;直接post的语音文件超过10M;callback里回调url的音频文件超过10M |
3311 | 用户输入错误 | 采样率rate参数不在选项里 | 目前rate参数支持16000、8000,填写4000即会有此错误 |
3312 | 用户输入错误 | 音频格式format参数不在选项里 | 目前格式仅仅支持pcm,wav或amr,如填写mp3即会有此错误 |
Android识别错误码说明
错误码分为两类错误,错误领域和错误码,其中错误领域的值可以用于交互,错误码仅用于调试,可能会有修改。 错误码仅提示错误,缩小排查的范围, 不能确认具体出错原因。开发时请对照集成指南文档及demo。
错误领域 | 描述 | 错误码 | 错误描述及可能原因 |
---|---|---|---|
1 | 网络超时 | 出现原因可能为网络已经连接但质量比较差,建议检测网络状态 | |
1000 | DNS连接超时 | ||
1001 | 网络连接超时 | ||
1002 | 网络读取超时 | ||
1003 | 上行网络连接超时 | ||
1004 | 上行网络读取超时 | ||
1005 | 下行网络连接超时 | ||
1006 | 下行网络读取超时 | ||
2 | 网络连接失败 | 出现原因可能是网络权限被禁用,或网络确实未连接,需要开启网络或检测无法联网的原因 | |
2000 | 网络连接失败 | ||
2001 | 网络读取失败 | ||
2002 | 上行网络连接失败 | ||
2003 | 上行网络读取失败 | ||
2004 | 下行网络连接失败 | ||
2005 | 下行网络读取失败 | ||
2006 | 下行数据异常 | ||
2100 | 本地网络不可用 | ||
3 | 音频错误 | 出现原因可能为:未声明录音权限,或 被安全软件限制,或 录音设备被占用,需要开发者检测权限声明。 | |
3001 | 录音机打开失败 | ||
3002 | 录音机参数错误 | ||
3003 | 录音机不可用 | ||
3006 | 录音机读取失败 | ||
3007 | 录音机关闭失败 | ||
3008 | 文件打开失败 | ||
3009 | 文件读取失败 | ||
3010 | 文件关闭失败 | ||
3100 | VAD异常,通常是VAD资源设置不正确 | ||
3101 | 长时间未检测到人说话,请重新识别 | ||
3102 | 检测到人说话,但语音过短 | ||
4 | 协议错误 | 出现原因可能是appid和appkey的鉴权失败 | |
4001 | 协议出错 | ||
4002 | 协议出错 | ||
4003 | 识别出错 | ||
4004 | 鉴权错误 ,一般情况是pid appkey secretkey不正确权限 。见下表”4004"鉴权子错误码 | ||
5 | 客户端调用错误 | 一般是开发阶段的调用错误,需要开发者检测调用逻辑或对照文档和demo进行修复。 | |
5001 | 无法加载so库 | ||
5002 | 识别参数有误 | ||
5003 | 获取token失败 | ||
5004 | 客户端DNS解析失败 | ||
5005 | |||
6 | 超时 | 语音过长,请配合语音识别的使用场景,如避开嘈杂的环境等 | |
6001 | 未开启长语音时,当输入语音超过60s时,会报此错误 | ||
7 | 没有识别结果 | 信噪比差,请配合语音识别的使用场景,如避开嘈杂的环境等 | |
7001 | 没有匹配的识别结果。当检测到语音结束,或手动结束时,服务端收到的音频数据质量有问题,导致没有识别结果 | ||
8 | 引擎忙 | 一般是开发阶段的调用错误,出现原因是上一个会话尚未结束,就让SDK开始下一次识别。SDK目前只支持单任务运行,即便创建多个实例,也只能有一个实例处于工作状态 | |
8001 | 识别引擎繁忙 。当识别正在进行时,再次启动识别,会报busy。 | ||
9 | 缺少权限 | 参见demo中的权限设置 | |
9001 | 没有录音权限 通常是没有配置录音权限:android.permission.RECORD_AUDIO | ||
10 | 其它错误 | 出现原因如:使用离线识别但未将EASR.so集成到程序中;离线授权的参数填写不正确;参数设置错误等。 | |
10001 | 离线引擎异常 | ||
10002 | 没有授权文件 | ||
10003 | 授权文件不可用 | ||
10004 | 离线参数设置错误 | ||
10005 | 引擎没有被初始化 | ||
10006 | 模型文件不可用 | ||
10007 | 语法文件不可用 | ||
10008 | 引擎重置失败 | ||
10009 | 引擎初始化失败 | ||
10010 | 引擎释放失败 | ||
10011 | 引擎不支持 | ||
10012 | 离线引擎识别失败 。离线识别引擎只能识别grammar文件中约定好的固定的话术,即使支持的话术,识别率也不如在线。请确保说的话清晰,是grammar中文件定义的,测试成功一次后,可以保存录音,便于测试。 |
"4004"鉴权子错误码
4004的子错误值 错误码描述 | 原因 | |
---|---|---|
4 | pv超限 | 配额使用完毕,请购买或者申请 |
6 | 没勾权限 | 应用不存或者应用没有语音识别的权限 |
13 | 并发超限 | 并发超过限额,请购买或者申请 |
101 | API key错误 | API Key 填错 |
唤醒错误码
错误领域 | 描述 | 错误码 | 错误描述 |
---|---|---|---|
10 | 录音设备出错 | ||
1 | 录音设备异常 | ||
2 | 无录音权限 | ||
3 | 录音设备不可用 | ||
4 | 录音中断 | ||
11 | 唤醒相关错误 | ||
没有授权文件 | 11002 | ||
授权文件不可用 | 11003 | ||
唤醒异常, 通常是唤醒词异常 | 11004 | ||
模型文件不可用 | 11005 | ||
引擎初始化失败 | 11006 | ||
内存分配失败 | 11007 | ||
引擎重置失败 | 11008 | ||
引擎释放失败 | 11009 | ||
引擎不支持该架构 | 11010 | ||
38 | 引擎出错 | ||
1 | 唤醒引擎异常 | ||
2 | 无授权文件 | ||
3 | 授权文件异常 | ||
4 | 唤醒异常 | ||
5 | 模型文件异常 | ||
6 | 引擎初始化失败 | ||
7 | 内存分配失败 | ||
8 | 引擎重置失败 | ||
9 | 引擎释放失败 | ||
10 | 引擎不支持该架构 | ||
11 | 无识别数据 |
UNIT错误码
ios识别错误码说明
识别过程中服务器返回错误状态:
错误码 | 说明 |
---|---|
-3001 | 协议参数错误 |
-3002 | 识别过程出错 |
-3003 | 没有找到匹配结果 |
-3004 | PID设置错误 |
-3005 | 声音质量不符合要求 |
-3006 | 语音录入过长,请勿超过60s |
离线引擎错误状态:
错误码 | 说明 |
---|---|
2228230 | dat模型文件不可用,请设置 BDS_ASR_OFFLINE_ENGINE_DAT_FILE_PATH |
2228231 | grammar文件无效 ,请设置 BDS_ASR_OFFLINE_ENGINE_GRAMMER_FILE_PATH |
2228236 | 识别失败,无法识别。(语法模式下,可能为语音不在自定义的语法规则之下) |
2228226 | [KWS] no license. 首次使用离线引擎请联网,并配置正确的app_id BDS_ASR_OFFLINE_APP_CODE, 绑定BundleId |
2225219 | server speech quality problem。音频质量过低,无法识别。 |
录音设备错误状态
错误码 | 说明 |
---|---|
655361 | 录音设备异常 |
655362 | 无录音权限 |
655363 | 录音设备不可用 |
655364 | 录音中断 |
网络错误状态
错误码 | 说明 |
---|---|
1966081 | 网络意外出错 |
1966082 | 网络不可用 |
2031617 | 网络请求超时 |
2225213 | 日志中有字样 err_no is: -3011. Server unknown error. 一般是网络有代理导致。联网请不要走代理。 |
Linux识别错误码说明
注意把日志开启(EVRDebugLogLevelTrace级别)
EVRClientErrorCodeServerSpeechQualityProblem错误会被sdk吞掉,: 音频质量有问题。因为即使后端检测到音频质量问题,识别仍可继续,所以用户回调中看不到,只能在日志中能看到。
语音识别错误会被分类,具体见TVoiceRecognitionClientErrorDomain的定义。
加粗为用户侧发生的常见错误
DOMAIN | CODE | 值 | 主要来源 | 描述 |
---|---|---|---|---|
EVRClientErrorDomainRecord | 10 | SDK | 未知错误 | |
EVRClientErrorDomainVAD | 20 | SDK | 语音数据处理VAD过程出错 | |
EVRClientErrorCodeVADException | 1 | SDK | 前端库VAD异常 | |
EVRClientErrorCodeNoSpeech | 2 | 用户音频流 | 用户未说话 | |
EVRClientErrorCodeShort | 3 | 用户音频流 | 用户说话声音太短 | |
EVRClientErrorDomainOnline | 30 | 用户/服务端 | 在线识别引擎出错 | |
EVRClientErrorCodeOnlineExceptioin | 1 | 用户/服务端 | 在线识别引擎异常 | |
EVRClientErrorCodeOnlineNetworkUnavailable | 2 | 用户音频流 | 网络不可用 | |
EVRClientErrorCodeOnlineTokenFailed | 3 | 用户 | 获取token失败 ,请检测appId appKey appSecret是否填写正确 | |
EVRClientErrorCodeOnlineResolveUrlFailed | 4 | 用户 | 解析url失败,请检测网络状态 | |
EVRClientErrorDomainLocalNetwork | 31 | 用户 | 连接百度服务端的网络问题,先确认联网是否正常 | |
EVRClientErrorCodeLocalTimeout | 1 | 用户 | 请检测网络状态,请求百度服务器连接超时 | |
EVRClientErrorDomainHTTP | 32 | 用户/服务端 | HTTP协议错误。或日志中出现http status不等于200而出错,这与通常的http访问一样,先检查网络状况,如果网络状况正常,可反馈 | |
EVRClientErrorDomainServer | 33 | 用户/服务端 | 服务器返回错误 。或日志中出现-300X,均是后端返回的错误,除了-3005外可尝试重试。 | |
EVRClientErrorDomainServer | -3001 | 服务端 | 后端从SDK读数据失败,可能是sdk检测到后端超时,断开了连接,重试 | |
EVRClientErrorCodeServerRecognError | -3002 | 服务端 | 识别过程出错 | |
EVRClientErrorCodeServerNoFindResult | -3003 | 服务端 | 协议参数错误 | |
EVRClientErrorCodeServerAppNameUnknownError | -3004 | 用户 | appId appKey appSecret填写错误 或流量超过限制 | |
EVRClientErrorCodeServerSpeechQualityProblem | -3005 | 用户 | 声音不符合识别要求,通常是语音质量问题或采样率设的不对 。如果确认那块(报错的句子所处的音频位置段)音频没问题,可再检查采样率和别的识别参数有误问题。 音频质量问题,自查对应位置的音频,通常忽略该问题 | |
EVRClientErrorCodeServerSpeechTooLong | -3006 | 用户 | 语音过长,确认是否开启了本地vad,以及vad门限是否过大 | |
-3007 | SDK/服务端 | 后端检测到sdk传递的数据类型不对,通常不会出现,出现则重试 | ||
EVRClientErrorCodeServerSpeechParamsUnknow | -3008 | 服务端 | 上行参数未知,(可能是gzip解压失败) 后端检测到sdk传递的json参数不对,通常不会出现,出现则重试 | |
EVRClientErrorCodeServerSpeechNoUploadLink | -3011 | 用户网络 | 上行流建立失败,可能跟网络状况或后端有关,重试 | |
-3012 | 用户网络 | 下行流建立失败,可能跟网络状况或后端有关,重试 | ||
-3013 | 服务端 | 后端错误 | ||
-3014 | 用户 | 用户自己取消,忽略之 | ||
EVRClientErrorDomainOffline | 34 | 服务端 | 未知错误 | |
EVRClientErrorCodeRecoderException | 1 | SDK | 未知错误 | |
EVRClientErrorCodeRecoderNoPermission | 2 | SDK | 未知错误 | |
EVRClientErrorCodeRecoderUnAvailable | 3 | SDK | 未知错误 | |
EVRClientErrorCodeInterruption | 4 | SDK | 未知错误 | |
EVRClientErrorDomainCommon | 40 | 其它错误 | ||
EVRClientErrorCodeServerSpeechNoUploadLink | 4095 | SDK | 识别器忙 | |
EVRClientErrorCodeCommonPropertyListInvalid | 2 | 用户 | 垂类设置有误 | |
EVRClientErrorCodeCommonEnqueueError | 3 | 用户 | 语音数据enqueue失败 |