Android由于有了Google的支持,那么他的语音识别做起来也是比较简单的,主要是调用谷歌的语音识别软件,然后取得他的返回值,谷歌的语音识别有着极其庞大的云中心以及数据库。当然语音识别是存在一个精度问题的,所以谷歌语音识别软件的返回值不是唯一的,因此到时候需要自己做筛选或者处理:package com.ichances.voice;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.speech.RecognizerIntent;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class VoiceActivity extends Activity {
/** Called when the activity is first created. */
private Button btnReconizer;
private static final int VOICE_RECOGNITION_REQUEST_CODE =618;
private TextView resText;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnReconizer = (Button) this.findViewById(R.id.button1);
resText = (TextView) findViewById(R.id.restext);
btnReconizer.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
try {
// 通过Intent传递语音识别的模式,开启语音
Intent intent = new Intent(
RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
// 语言模式和自由模式的语音识别
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
// 提示语音开始
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "开始语音");
// 开始语音识别
startActivityForResult(intent,
VOICE_RECOGNITION_REQUEST_CODE);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
Toast.makeText(getApplicationContext(), "找不到语音设备", 1)
.show();
}
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
// 回调获取从谷歌得到的数据
if (requestCode == VOICE_RECOGNITION_REQUEST_CODE
&& resultCode == RESULT_OK) {
// 取得语音的字符
ArrayList<String> results = data
.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
String resultString = "";
for (int i = 0; i < results.size(); i++) {
resultString += String.valueOf(i + 1) + ":" + results.get(i)
+ ";";
Log.i("结果", resultString);
}
resText.setText(resultString);
Toast.makeText(this, resultString, 1).show();
}
super.onActivityResult(requestCode, resultCode, data);
}
}
分享到:
相关推荐
Android语音识别软件代码 调用系统的语音控件进行语音识别代码。
Android语音识别源码
android语音识别和TTS处理简单源码,包括如何调用语音识别和文本朗读,如果无语音识别设备,可以安装语音搜索apk,如果无tts设备可安装tts的apk,两个apk放置在assets目录下,仅供学习参考
代码是简单的语音识别demo,使用的是科大讯飞的api,想看的同学可以看看。
我之前用google的语音识别一直不行,后来才发现我的google语音服务控件给我删了,安上过后就可以了。经兄弟介绍说,讯飞的语音识别相比google更稳定,所以也下载了一个。这里的工程都是网上下载的,为了以后方便找,...
三个android语音识别例程mystt.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
android语音识别技术文档,源码可在我的资料空间查找
谷歌的语音识别demo,pocketsphinx,可以离线识别;android开发
Unity3D教程:调用Android语音识别 Posted on 2013年07月04日 by U3d / Unity3D 基础教程/被围观 80 次 语音识
android语音识别
android语音识别,android语音搜索,调用androidAPI实现。代码注释详细。
Android 语音识别 科大讯飞 金额数字过滤
结合demo实现Android语音识别功能,只需一些简洁的代码即可实现语音识别功能,里面的demo可以直接运行,简单。
android 语音识别,根据语音,执行对应操作 导入eclipse即可
android语音识别技术
总结和归纳csdn大神们对于语音识别技术原理、工具、编程思路的研究并与自己的实际学习相结合,实现了Google Voice的在线语音识别和使用PocketSphinx类库的...文章中对于基于Android语音识别技术做了非常详尽的介绍。
已经测试过,可以实现识别功能! 另外一个语言搜索包是一定要的,里面有语言包! 不喜勿喷!只是提供参考!