科大讯飞人脸识别,语音听写,声纹识别踩坑记

1.错误码:未检测到人脸11700

排查步骤:
(1)检查是否获取到图片字节流
(2)将图片字节流转换成BitMap对象或者Image对象,查看图片是否获取正常
(3)检查获取到的图片是否进行了旋转
,如果图片进行了旋转,将图片旋转角度degree旋转到0,再进行验证,图片
旋转方式和图片兼容可以参考http://www.cnblogs.com/xiaoxiao-study/p/867d2ad9206c8600186c90690f1e7965.html,一般自定义相机会出现这个问题

2.语音听写onVolumeChanged不执行
请参考文档确认设置的参数是否正确
http://www.xfyun.cn/doccenter/awd
参考博客:http://blog.csdn.net/imhxl/article/details/50854146
注意:
//创建SpeechRecognizer对象,第二个参数:本地听写时传InitListener 如果是云端,传null。如果云端传InitListener,将导致onVolumeChanged不执行
mIat = SpeechRecognizer.createRecognizer(IatActivity.this, null);

3.人脸识别在OPPO手机上不能拍照
OPPO手机没有自动对焦,只有固定对焦,请检查判断,OPPO直接拍照就行,不用调用autoFocus

4.人脸和语音Android和IOS不互通问题
联系技术人员,将两个appid进行关联即可

mIat = SpeechRecognizer.createRecognizer(IatActivity.this, null);
mIat 初始化返回null;
先排除so文件和gradle配置,如果都没有错,检查清单文件是否有读取录音权限
5.语音识别10106(无效的参数)
首先排查网络是否通畅,因为网络不通畅也会抛出这个错误,其次检查自己setParameter参数是否正确,根据文档调用参数,注意一点:
这里写图片描述
这两个参数会走不同的数据整理方式
附上Demo,此Demo只针对于科大讯飞机器人项目,需要的模块可以从里面抽取
https://pan.baidu.com/s/1o94W9e4g-praIX43vD82VA 关于这两个参数的区别暂时未知