http://www.myexception.cn/android/1166876.html

android 语音识别 之 讯飞语音移植

一、简介

语音识别现在应用越来越广泛了 比如语音写短信、语音搜索商品、语音搜索关键字等等,这遍我们就简单的谈谈国内比较流行的讯飞语音在android平台上的实现。

笔者认为:

google语音识别并不是十分符合中国人的习惯,且google语音识别一个重要弊端的是,需要用户手机上必须有google语音应用。

一般的国行android手机并没有,比如笔记手机小米就没有。需要下载单独google语音apk。所以用户体现自然不如讯飞。

但讯飞笔者认为,也有一定风险。讯飞应用协议中,他们是具有任何时候,停掉你语音识别服务的权限的,而且还不用和你商量。

一旦你的应用达到了百万级了,那么讯飞是要收取你一定的服务费的,所以一般大公司的项目基本上不会用讯飞语音或与讯飞语音合作比如小米,

Android4.0以上版本语音小助手就有小米与讯飞语音合作开发出来的。

二、讯飞Android小示例

先看看效果图:

嗯,看到效果图后下面就谈谈如何去实现效果:

2.1 到讯飞官网开发者专区中注册用户并获取appid  地址:http://open.voicecloud.cn/developer.php

2.2 新建android工程,并在清单文件中声明好相应的权限

    <uses-permission android:name="android.permission.RECORD_AUDIO" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

2.3 下载libmsc.so与Msc.jar,并分别放在android工程的libs/armeabi与libs文件夹中,如图
   

3.4 使用示例如下,代码中都带有相应的注释了:

import java.util.ArrayList;import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;import com.iflytek.speech.RecognizerResult;
import com.iflytek.speech.SpeechConfig.RATE;
import com.iflytek.speech.SpeechError;
import com.iflytek.ui.RecognizerDialog;
import com.iflytek.ui.RecognizerDialogListener;/*** @author 陈淑飞* 2013-1-8 上午1:10:24*/
public class HelloDemoActivity extends Activity implements OnClickListener {protected static final String TAG = "ThirdActivity";private EditText txt_result;private RecognizerDialog rd;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.demo);findView();//RecognizerDialog(Context context, String params); "appid=1234567,usr=test,pwd=12345"  usr、pwd不是必选的//创建语音识别dailog对象,appid到讯飞就注册获取rd = new RecognizerDialog(this ,"appid=50e1b967");}private void findView() {txt_result = (EditText) findViewById(R.id.txt_result);findViewById(R.id.bt_search).setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.bt_search:showReconigizerDialog();break;default:break;}}private void showReconigizerDialog() {//setEngine(String engine,String params,String grammar);/*** 识别引擎选择,目前支持以下五种“sms”:普通文本转写“poi”:地名搜索“vsearch”:热词搜索“vsearch”:热词搜索“video”:视频音乐搜索“asr”:命令词识别params  引擎参数配置列表附加参数列表,每项中间以逗号分隔,如在地图搜索时可指定搜索区域:“area=安徽省合肥市”,无附加参数传null*/rd.setEngine("sms", null, null);//设置采样频率,默认是16k,android手机一般只支持8k、16k.为了更好的识别,直接弄成16k即可。rd.setSampleRate(RATE.rate16k);final StringBuilder sb = new StringBuilder();Log.i(TAG, "识别准备开始.............");//设置识别后的回调结果rd.setListener(new RecognizerDialogListener() {@Overridepublic void onResults(ArrayList<RecognizerResult> result, boolean isLast) {for (RecognizerResult recognizerResult : result) {sb.append(recognizerResult.text);Log.i(TAG, "识别一条结果为::"+recognizerResult.text);}}@Overridepublic void onEnd(SpeechError error) {Log.i(TAG, "识别完成.............");txt_result.setText(sb.toString());}});txt_result.setText(""); //先设置为空,等识别完成后设置内容rd.show();}}

笔者注:呵呵请大家转载时,注下来源呗,也帮我弄弄人气撒。

另:工程示例domo,已上传到csdn中(免积分哦),地址:http://download.csdn.net/detail/chenshufei2/4989030

android 语音识别 之 讯飞话音移植相关推荐

  1. android 语音识别 之 讯飞语音移植

    转载自:http://blog.csdn.net/chenshufei2/article/details/8496905 一.简介 语音识别现在应用越来越广泛了 比如语音写短信.语音搜索商品.语音搜索 ...

  2. 移动开发-语音识别-调用讯飞平台提供的API

    1 登录讯飞平台,申请账号,创建一个应用 具体步骤可以百度查找 2 进入"我的应用",下载相应的SDK文件 选择语音听写(流式版)-> Android MSC在这里插入图片描 ...

  3. android studio中讯飞sdk“组件未安装.(错误码:21002)”的解决办法

    最近学习了一下讯飞android版的sdk,在按照官方文档上的步骤在android studio中导入sdk后,初始化遇到了这个问题.后来知道是gradle中jniLibs配置的问题,解决办法有两个: ...

  4. Android中集成讯飞语音,语音转文字以及文字转语音操作

    讯飞语音 * 在讯飞语音开发者平台上http://www.xfyun.cn/doccenter/newer具体准备工作按照开发文档操作.注意的是创建一个项目,appid和adk是一一对应的* 在这里, ...

  5. android键盘还是讯飞输入,讯飞输入法BiuBiu键盘又添神仙操作 分类自定义排序来了...

    原标题:讯飞输入法BiuBiu键盘又添神仙操作 分类自定义排序来了 日前,讯飞输入法Android和iOS新版对BiuBiu键盘进行个性化升级,支持按自己喜好调节分类排序啦,它像一位懂你的A.I.助手 ...

  6. uniapp语音识别(讯飞语音)转文字

    ☞ 常见应用: 游戏界面 文字语音.商城导航栏的语音输入搜索框.聊天界面的语音文字输入等. 引自官方 unicloud官方语音: 语音输入接口可使得网页开发人员能快速调用设备的麦克风进行语音输入,而不 ...

  7. 讯飞语音识别_讯飞输入法持续功能创新 语音输入最受用户认可

    犹记得10多年前功能机上的输入法,无论是拼音还是笔画,通过物理键盘按部就班地进行输入,效率异常低下:所幸那时候网络没有那么发达.手机聊天应用并不怎么丰富,而且彼时手机还只是"通讯设备&quo ...

  8. 科大讯飞输入法android离线语音,讯飞输入法Android5.0.1752 离线语音更轻快的表达...

    在追求时间效率的当下,语音是最佳输入方式,尤其离线语音可在无网络和网络环境不好时依然保持语音输入的便捷.通过手机本地运算,用离线语音包代替云端服务器功能,识别转文字无需等待.讯飞输入法新版离线语音不断 ...

  9. 语音识别技术原理是什么 讯飞语音识别技术特点介绍【详解】

    语音识别技术原理简介 自动语音识别技术(Auto Speech Recognize,简称ASR)所要解决的问题是让计算机能够"听懂"人类的语音,将语音中包含的文字信息"提 ...

最新文章

  1. 第八章 软件项目质量计划
  2. 如何正确对待vb脚本里的session
  3. 深度学习基础入门(一):基本概念和术语解读
  4. vertx web连接超时 阻塞_Flink之基于Vertx的Mysql异步IO
  5. 以孩子兄弟链表为存储结构,请设计递归算法求树的高度
  6. python迭代对象有哪些_Python可迭代对象操作示例
  7. SVN工作笔记003---svn文件被别人锁定,而那人又把锁定的文件删除了,解锁办法
  8. delphi ehlib 添加选择框_教你用CASS10.1,在宗地图中添加“亩”注记
  9. Lazarus Coolbar and AnchroDocking
  10. 《九阴真经:iOS黑客攻防秘籍》新书发布
  11. 嵌入式系统——ADS和AXD的基本操作
  12. python删除单元格_Openpyxl删除单元格/清除内容
  13. 应聘华为的朋友小心了,应聘华为的悲惨遭遇!
  14. python 任务管理系统_python bottle框架开发任务管理系统 V_1.0版
  15. SQL简明数据分析教程
  16. jarsigner 错误: java.lang.RuntimeException: 密钥库加载: Invalid keystore format
  17. 亚马逊将推大学生版Kindle电子书阅读器
  18. Excel里 第三方插件加载
  19. 考研政治大题 记忆方法 顺口溜
  20. win7旗舰版,KB4012212安装失败问题:

热门文章

  1. web前端 html部分
  2. react取消捕获_React中阻止事件冒泡的问题详析
  3. 【Solidity学练系列1---搭建僵尸工厂】
  4. Zibbix3.0安装详解
  5. 微博The Networker Society社交网络联盟正式成立
  6. Java构造方法的作用
  7. H5 notification浏览器桌面通知
  8. CSS3简单特效--transform实现翻书效果
  9. Google Earth Engine —— MODIS影像数据集分析
  10. 西门子SMART控制三伺服程序