环境搭建::个人觉得讯飞的资料写的马马虎虎,不如BAT的,也不像ShareSDK一样可以免费的一对一的问。

解压SDK,找到要用的Lib文件夹:

一看便知有.jar的放到项目里的lib文件夹下。点开online

开发过百度地图的一看就明白要用到jni 所以要在mian目录下建立jniLibs文件夹,将这些文件夹都烤进去

添加必要的权限,开发久远,不记得那些了,自己去官网找。

1.程序主入口处(传入申请的id)

     // XUNFEI语音测评SpeechUtility.createUtility(getApplicationContext(), Contacts.XF_LANGUAGE_TEST_APPID);

2.初始化参数

 private void initXunFeiCePingParams(Context context, String playerTime,String recordpath) {mSpeechEvaluator = SpeechEvaluator.createEvaluator(context, null);// 设置评测语种mSpeechEvaluator.setParameter(SpeechConstant.LANGUAGE, "en_us");//英语// 设置评测题型mSpeechEvaluator.setParameter(SpeechConstant.ISE_CATEGORY, "read_sentence");//句子// 设置试题编码类型mSpeechEvaluator.setParameter(SpeechConstant.TEXT_ENCODING, "utf-8");// 设置前、后端点超时设置语音前端点:静音超时时间,即用户多长时间不说话则当做超时处理mSpeechEvaluator.setParameter(SpeechConstant.VAD_BOS, "5000");// 设置语音后端点:后端点静音检测时间,即用户停止说话多长时间内即认为不再输入, 自动停止录音mSpeechEvaluator.setParameter(SpeechConstant.VAD_EOS, "5000");// 设置录音超时,设置成-1则无超时限制  // 语音输入超时时间,即用户最多可以连续说多长时间;mSpeechEvaluator.setParameter(SpeechConstant.KEY_SPEECH_TIMEOUT, playerTime);// 设置结果等级,不同等级对应不同的详细程度mSpeechEvaluator.setParameter(SpeechConstant.RESULT_LEVEL, "complete");// 设置音频保存路径,保存音频格式支持pcm、wav,设置路径为sd卡请注意WRITE_EXTERNAL_STORAGE权限// 注:AUDIO_FORMAT参数语记需要更新版本才能生效mSpeechEvaluator.setParameter(SpeechConstant.AUDIO_FORMAT, "wav");MyRecordPath = new StringBuffer().append(FileUtils.getDiskCacheDir(context, "My Recording").getAbsolutePath()).append("/").append(recordpath).append(".wav").toString();mSpeechEvaluator.setParameter(SpeechConstant.ISE_AUDIO_PATH, MyRecordPath);//第二个参数为录音存储路径}

3.调用以上的方法

   myRecordMp3Path=FileUtils.hashKeyForDisk(currentContent.getContent_en());initXunFeiCePingParams(context, playtime,myRecordMp3Path);//初始化讯飞测评的参数mSpeechEvaluator.startEvaluating(sb_senc.toString(), null, mEvaluatorListener);

4.回调监听:

 private EvaluatorListener mEvaluatorListener = new EvaluatorListener() {// 结果回调,评测过程中可能会多次调用该方法,isLast为true则为最后结果public void onResult(EvaluatorResult result, boolean isLast) {if (isLast) {Log.d("YYYYYYY", "evaluator result :" + result.getResultString());//解析返回的XMLmPassListenerXMLAsyncTask = new PassListenerXMLAsyncTask();mPassListenerXMLAsyncTask.execute(result.getResultString());}}// 出错回调public void onError(SpeechError error) {if (error != null) {switch (error.getErrorCode()) {case 11401:Log.i("ExamineAdapter::::", "ERROR:" + "无语音或音量小");break;case 11402:Log.i("ExamineAdapter::::", "ERROR:" + "信噪比低或有效语音过短");case 11405:Log.i("ExamineAdapter::::", "ERROR:" + "录音格式有误");break;case 11406:Log.i("ExamineAdapter::::", "ERROR:" + "其他评测数据异常, 包括错读、 漏读、\n" +"恶意录入、试卷内容等错误");break;case 11408:Log.i("ExamineAdapter::::", "ERROR:" + "存在未登录词, 即引擎中没有该词语\n" +"的信息");break;}}Log.d("YYYYYYY", "SpeechError error :" + error);}@Overridepublic void onVolumeChanged(int i, byte[] bytes) {Log.d("YYYYYYY", "onVolumeChanged" + i);Message msg = Message.obtain();msg.what = VOICE_CHANGE;msg.obj = i;mHandler.sendMessage(msg);}// 开始说话回调public void onBeginOfSpeech() {Log.d("YYYYYYY", "onBeginOfSpeech");}// 说话结束回调public void onEndOfSpeech() {Log.d("YYYYYYY:::::", "onEndOfSpeech" + playtime);}// 音量回调  0-30public void onVolumeChanged(int volume) {Log.i("volume:?????",volume+"");}// 扩展接口,暂时没有回调public void onEvent(int eventType, int arg1, int arg2, Bundle obj) {}};

5.解析::官方demo里有:

XmlResultParser.class  
Result.class

   XmlResultParser resultParser = new XmlResultParser();Result result = resultParser.parse(params[0]);

讯飞语音测评SDK的搭建与运用(Android studio)相关推荐

  1. 讯飞语音唤醒SDK集成流程

    唤醒功能,顾名思义,通过语音,唤醒服务,做我们想做的事情. 效果图(开启应用后说讯飞语音或者讯飞语点唤醒) 源码下载 地址:http://download.csdn.net/detail/q48788 ...

  2. 关于讯飞语音听写RecognizerDialog 去除这个弹框view中的任何控件 更改其中内容

    | | | 上面这是讯飞语音听写sdk的听写弹框下面两张是自己项目中改的 我发现他sdk的assets下的iflytek 中的recognize.xml 里面虽然是乱码 但是可以看到的一些东西是此倾听 ...

  3. H5调用讯飞语音接口实现在线语音听写测评

    韩顺平老师是我的人生导师,所以,老规矩,先看效果,后讲解:下面是效果图(页面较大,分屏效果) 这是在线语音听写: 这是在线语音测评: 下面我们来看看具体的代码实现: 1.在讯飞语音平台注册,创建一个应 ...

  4. 关于讯飞语音SDK开发学习

    前奏,浑浑噩噩已经工作一年多,这一年多收获还是挺多的.逛园子应该有两年多了,工作后基本上是天天都会来园子逛逛,园子 里还是有很多牛人写了一些不错的博客,帮我解决很多问题.但是一直没写过博客,归根到底一 ...

  5. Android 文字转语音使用讯飞语音SDK(eclipse版 无UI)

    Android 文字转语音使用讯飞语音SDK(eclipse版) 1.下载SDK(地址:http://www.xfyun.cn/sdk/dispatcher)下载前会让你先创建应用,创建应用后会得到一 ...

  6. java 集成讯飞语音 pc_【报Bug】sdk集成 讯飞语音输入jar包报错

    sdk集成 讯飞语音输入jar包报错 Caused by: org.gradle.api.internal.artifacts.transform.TransformException: Execut ...

  7. SDK(3)讯飞语音

    讯飞语音SDK    先去官网下载配置好    as中新建工程,新建module 基于安卓23,不管这个 改为 新建工程,       导入类库       又见addasliabrary 可以查看依 ...

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

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

  9. UNITY 接讯飞语音过程总结

    UNITY 接讯飞语音过程总结 11:13 2017/3/14 1,安装问题:JDK与ECLIPSE位数一定要对应,32位对64位会出现 java was returned ....code 13的弹 ...

  10. iOS: 讯飞语音的使用

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

最新文章

  1. vue-router使用入门
  2. 纽曼皮尔逊准则Matlab实现,基于聂曼-皮尔逊准则的skip模式快速选择方法
  3. scipy模块计算导数方法(central_diff_weights)
  4. fiddler如何设置过滤https_Google Analytics如何设置含有过滤器的帐户数据视图
  5. 把c++语言转换为go的工具_V,新编程语言来袭!与Go类似,跟C一样快
  6. IOS第七天(2:UiTableView 加上数据分离)
  7. 【pyqt5】——入门级模板(ui文件+ui转py文件+逻辑py文件)(消息提示框)
  8. 进入IT行业,要不要参加培训班?
  9. oracle 嵌套游标慢,oracle 嵌套游标以及java,oracle的时间处理
  10. 用Java编辑实现warshall算法_warshall算法 java实现
  11. 小数点后最多几位_一个“90后”女生的月账单,花得最多的果然是这个
  12. 实体与电商,有啥区别?
  13. 美团回应遭反垄断调查;腾讯因《地下城与勇士》被抄袭获赔3000万;iOS 14.5 正式版发布|极客头条...
  14. Arrays.asList 方法注意事项
  15. 库 v10怎么安装_22000Pa强劲吸力加高续航,追觅V10无线吸尘器体验
  16. AIX添加ASM的裸盘
  17. 每日涉猎技术点存档(2018年6月)
  18. 惠普打印机故障代码_HP激光打印机常见故障代码
  19. SDUT程序设计基础(一)往年期末考试题目题解(2018年)
  20. 计算机组成原理常见英文缩写

热门文章

  1. 前方高能!公司来了一个low逼程序员
  2. Modeling and Enhancing Low-Quality Retinal Fundus Images
  3. 云服务器安装Linux桌面,centos 云服务器有桌面吗 如何进行安装
  4. 【arcgis中两种路网密度计算结果对比】
  5. 员工管理系统————员工添加模块
  6. php 数独计算器,问题描述:数独(Sudoku)是一款大众喜爱的数字逻辑游戏。玩家需要根据9X9盘面上的已知数字_题来了...
  7. Required request body is missing 错误解决
  8. Android沉浸式体验适配方案
  9. PyTorch中文教程 | (6) torch.nn是什么?
  10. ts当中的infer关键字