场景:android项目中共使用了3个语音组件:在线语音听写、离线语音合成、离线语音识别

11208:遇到这个错误,授权应用失败,先检查装机量(3台测试权限),以及appid的申请时间(35天期限),我的没问题,所以就定位在资源文件的问题了。请注意:保证所有的资源文件都是最新的(在线语音听写、离线语音合成、离线语音识别),比如说你某个页面只需要离线语音识别,但是却没有更新“离线语音合成”的资源文件(common.jet).

23108:这个错误提示语法构建失败,其实我已经写语法了,但是由于编码乱码的原因,造成语法构建失败,所以编码问题也请大家注意。

待续。。。

讯飞官方提供的错误码及解决办法:

错误码 错误码说明 原因说明 解决方案
10106 MSP_ERROR_INVALID_PARA  无效的参数 传入的参数有误 查看参数是否传错了地方,参数值是否有问题
10107     可能是
jar 和 libmsc.so 不一致 。 魅族有预装我们的软件 可能会把libmsc.so push到 System  lib 下面,造成版本之间的混乱
10108 无效的句柄   一般是客户端网络问题,导致服务端释放了这路会话。所以客户端消息再来的时候,就报无效句柄了。
10109 MSP_ERROR_INVALID_DATA  无效的数据 (1)上传的命令词语法文件有问题(2)网络状况导致音频数据传输不了 客户端上传的命令词语法,单词长度限制为128字节。语法首部限制为#ABNF
1.0  UTF-8; 或者 #ABNF 1.0 gb2313;
10110 MSP_ERROR_NO_LICENSE    
10111 MSP_ERROR_NOT_INIT          没有初始化 没有调用初始化,或登录未完成  
10114 MSP_ERROR_TIME_OUT         连接超时 网络环境出问题了  
10117 MSP_ERROR_NO_ENOUGH_BUFFER                  没有足够的内存 每次合成字数太多 每次合成字数限制4096字节,时长60s
10118 MSP_ERROR_NO_DATA         
没有数据
前段点VAD_BOS没有检测到数据即停止监听 检查代码中VAD_BOS的设置
    合成是没有文本  
10119   网络连接异常 可能是你说话离开麦克风比较远时,录音的音频声音太小作为噪音处理的,所以识别不到
10121 MSP_ERROR_ALREADY_EXIST 人脸模型已经存在  
10129      
10132 无效的用户操作 上次服务未正常结束又启动下次的服务 在本次合成或者识别之前确认,上次合成或者识别已经结束
10137 语法构建频繁 上次构建还没有出结果又构建了  
10138 词典更新失败 离线命令词出现 上一次更新词典未结束 又来一次
10214 DNS解析错误 域名转换到IP失败 换个网络通畅的环境,或者先用固定IP测试
10301 解析错误 协议被不法分子篡改了,导致http协议解析失败  
10402 没有结果   在使用通用语义时:在跳转sdk下载界面时,没有勾选具体的语义场景;在使用私有语义时:后台语义测试正常,但没有点击发布
10407   appid和资源没有来自同一应用下  
10701 处于不活跃的状态 grammarid可能有误  
10702 语法错误   检查语法文件格式、内容、编码设置(实际编码与文件开头、代码参数设置是否一致
10703 没有活跃的语法 客户端没有携带任何语法文件,直接调用语法接口,造成引擎找不到可激活的语法文件 查看是否有合法的grammarid,语法文件是否有误,语法文件的真实编码、文件头填写的编码、函数中传入的编码参数,三者是否一致
11201 未经授权的语音应用 没有审核的话每天的使用次数为500次,调用startlistening,调用一次算一次 如果应用语音功能已经完成,可以提交上线审核。审核通过后就没有限制
11207 禁止使用未经授权的语言服务 测试版本超过限制 测试版本的只有3台装机量,35天的使用限制
11208
11700 MSP_ERROR_IFR_NOT_FACE_IMAGE 没有检测到人脸  
12413    图片传的太大,http最大限制了  jpg 格式,人脸最低在80*80像素,大小建议不超过150k  
14002 服务端脚本错误,没有结果 appid
跟语义的服务没有关联好
1、在使用通用语义时:在跳转sdk下载界面时,没有勾选具体的语义场景;
2、在使用私有语义时:后台语义测试正常,但没有点击发布,会出现14002;
16006 请求超时    
20004 无效的结果 没有说话就停止识别监听  
20005 Android无匹配结果   使用命令词识别或者语法文件识别出现,查看所说的话是否在语法文件或者命令词识别中
20006 Android录音失败   A、重启手机,B、查看是否使用的虚拟机,建议真机调试,虚拟机很多时候不能识别到麦克风设备,C、查看工程是否添加了录音权限,D、查看是否有其他进程正在占用麦克风;
20009 iOS录音失败
20010 iOS无匹配结果   使用命令词识别或者语法文件识别出现,查看所说的话是否在语法文件或者命令词识别中
20012 参数错误    
20017 本地引擎错误 被异常打断 做语音识别出现20017错误,可能会是同时在一个Activity做识别和合成造成,但主要可能是如果上一次未结束,又开启了下一次。可以检查一下上一次是否结束,结束标志:识别判断上一次是否结束:
OnResult isLast=true 或者 onError    
 合成判断上一次是否结束:onCompleted
21001 没有安装语音组件   1、有没有使用SpeechUtility.createUtility()设置appid
2、有没有将libmsc.so放到工程中
3、如果使用的是讯飞语音+的本地功能,有没有安装讯飞语音+
4、如果设备是android
5.0及其以上,需要将工程中的armeabi和armeabi-v7a文件夹中都放上libmsc.so,如果你下载的SDK中没有armeabi-v7a对应的库,可以将armeabi中的libmsc.so复制一份到armeabi-v7a文件夹中

5、SpeechUtility.createUtility()如在Application中调用,需要在Mainifest中注册该Applicaiton。此方法不是必须在Appcation中调用,可在需要使用语音能力之前,例如进入语音搜索页面调用。
6、使用Android Studio的开发者注意将so放在jniLib目录下,或者在配置文件中指定so加载的路径。

21002 引擎不支持    
21003 初始化失败 调用过程中刚开始初始化就开始设置参数、开始识别或开始合成 初始化是相对异步进行的,初始化的时候在InitListener里面的onInit()回调初始化成功之后在开始设置参数、调用合成、调用识别。需要先设置appid。使用speechapi.jar的话需要先安装讯飞语音+。添加各项权限
23001   在离线语音合成没有放入资源 使用demo测试时,需将res中资源拷贝到demo中assets相应的路径下;使用带UI接口时,需要将assets下的文件拷贝到项目中
23003 ERROR_ASR_OUT_OF_MEMORY 内存耗尽  
23007 引擎未初始化   可能是未按照Demo进行集成,没有将资源拷贝进项目中
23108 打开文件失败 一般在打开文件时候没有权限导致打开失败或者是代码里相关文件的路径写错,参数设置不正确。 1.检查是否增加本地读写权限:

<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>
2.检查语法路径是不是正确,设置的参数是不是正常。

23109 识别语法错误 读取资源、词典、场景等文件失败  
23300 识别语法有问题    
24110 本地引擎错误    

android讯飞语音开发常遇到的问题的更多相关文章

  1. Android讯飞语音云语音听写学习

    讯飞语音云语音听写学习         这几天两个舍友都买了iPhone 6S,玩起了"Hey, Siri",我依旧对我的Nexus 5喊着"OK,Google" ...

  2. Android 讯飞语音听写SDK快速接入(附空指针解决和修改对话框文字方法)

    1.账号准备工作 首先要有一个讯飞的账号啦,为后面申请APPID.APPKey等东西做准备.顺带一提:讯飞对不同认证类型用户开 放的SDK的使用次数是有不同的,详情如下图. 账号申请完成后,需要去你自 ...

  3. Android 讯飞语音之语音合成(在线有声朗读)

    原文:http://www.cnblogs.com/scetopcsa/p/3845427.html 在线语音合成的使用方法: 首先下载相关的sdk,这个网址里有多种版本,我选择的Android. h ...

  4. iOS: 讯飞语音的使用

    一.介绍: 讯飞语音做的相当不错,容错率达到90%多,如果需要做语音方面的功能,它绝对是一个不错的选择.讯飞语音的功能很多:语音听写.语音识别.语音合成等,但我们最常用的还是语音听写.讯飞语音中包含界 ...

  5. 基于讯飞语音API应用开发之——离线词典构建

    最近实习在做一个跟语音相关的项目,就在度娘上搜索了很多关于语音的API,顺藤摸瓜找到了科大讯飞,虽然度娘自家也有语音识别.语义理解这块,但感觉应该不是很好用,毕竟之前用过百度地图的API,有问题也找不 ...

  6. cocos2dx实现android的对讯飞语音的合成(语言朗读的实现)

    事实上非常easy,只是有些细节须要注意. 关于讯飞语音在android上的应用,大家须要自己去下载SDK,然后依照讯飞语音提供的api在自己的android的Demo上执行成功,那东西也相当的简单. ...

  7. Android自带语音播报+讯飞语音播报封装(直接用)

    一.Android自带的语音播报 1.查看是否支持中文,在测试的设备中打开‘设置’ -->找到 '语言和输入法'-->查看语音选项,是否支持中文,默认仅支持英文. 使用如下: public ...

  8. 继《关于讯飞语音SDK开发学习》之打包过程中遇到小问题

    关于讯飞语音SDK开发学习 使用vs自带打包,具体怎么操作就不说了,网上关于这方面的资料挺多的.例如:winform 打包部署,VS2010程序打包操作(超详细的),关键是桌面上创建快捷方式中的&qu ...

  9. iOS开发讯飞语音的集成

    1.进入官网注册账号,登陆,注册,应用. 2,下载sdk  导入系统库. 3,关闭bitcode 4,初始化讯飞语音. NSString * initString = [[NSString alloc ...

随机推荐

  1. 遍历List/Map的时候删除成员遇到的奇怪问题

    1.for each删除成员 List<String> list = new LinkedList<String>(); list.add("a"); li ...

  2. 显示当前一个礼拜的日期 new Date()

    显示这一礼拜的日期 html: <div class="month"></div> <table> <tr> <th>日 ...

  3. php 购物车的例子

    网上搜到的,简单容易理解.cookie存购物车ID,db存购物车数据. //购物车session的产生代码   1 if(! $session && ! $scid) {    2 / ...

  4. delphi常用函数过程

    数据类型转化 1.1.         数值和字符串转化 Procedure Str(X [: Width [ : Decimals ]]; var S); 将数值X按照一定格式转化成字符串S.Wid ...

  5. jquery.tmpl 用法(附上详细案例)

    js的模板引擎就和服务端的差不多,都是更好更快的拼接html用于显示,我参考了文章:http://www.cnblogs.com/zhuzhiyuan/p/3510175.html tmpl常用标签 ...

  6. python之文件

    文件打开函数:f = open 表1-1:open函数中模式参数常用值 打开模式 描述 'r' 读模式 'w' 写模式 'a' 追加模式 'b' 二进制模式 '+' 读/写模式 表1-2:文件对象方法 ...

  7. django-url调度器-中级篇

    在初级篇中,我们接触了: 1.url 的简单编写 2.两种传参的方式 3.捕获的参数总是字符串 4.为视图设置默认参数 …… 在中级篇中将更进一步. 包含其它的URLconfs 当网站非常大的时候,将 ...

  8. HDU1006

    Problem Description The three hands of the clock are rotating every second and meeting each other ma ...

  9. C++经典书籍推荐

    <C++程序设计语言> <C++语言设计与演化> <C++标准程序库> <EFFECTIVE C++ 中文版> <MORE EFFECTIVE C ...

  10. SQLite判断某表是否存在

    SQLite判断表是否存在:其实很简单,只要查看sqlite_master表中是否存在这条数据就可以知道了.SELECT count(*) FROM sqlite_master WHERE type= ...