博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Android 调用谷歌语音识别】
阅读量:4291 次
发布时间:2019-05-27

本文共 2226 字,大约阅读时间需要 7 分钟。

調用谷歌语音识别其实很简单,直接利用 intent 跳转到手机里面的谷歌搜索

代码也很简单,直接调用方法 startVoiceRecognitionActivity()
如果大家手机里面没有谷歌搜索,这里会弹出一个下载框给我们选择下载
识别完成后,得到result List数组,里面有很多识别结果,我们获取第一个就可以了
贴出代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/**
* 調用方法
*/
private void startVoiceRecognitionActivity() {
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, "开始语音");
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "zh-HK");
// 开始语音识别
startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
} catch (Exception e) {
e.printStackTrace();
showDialog();
}
}
private void showDialog() {
AlertDialog.Builder builder = new Builder(MainActivity.this);
builder.setMessage(R.string.dialog_content);
builder.setTitle(R.string.dialog_title);
builder.setNegativeButton(R.string.download,
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Uri uri = Uri.parse(getApplication().getString(R.string.voice_url));
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
}
});
builder.setPositiveButton(R.string.cancel,
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == VOICE_RECOGNITION_REQUEST_CODE
&& resultCode == RESULT_OK) {
ArrayList<
String
> results = data
.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
if (results.size() > 0) {
voiceView.setText(results.get(0));
} else {
Utils.getInstance().showTextToast("檢測失敗,請重新點擊識別!", context);
}
}
}

1
2
3
4
5
<
string
name
=
"voice_url"
></
string
>
<
string
name
=
"dialog_title"
>提示</
string
>
<
string
name
=
"dialog_content"
>未找到語音識別設備,是否下載?</
string
>
<
string
name
=
"cancel"
>取消</
string
>
<
string
name
=
"download"
>下載</
string
>

转载地址:http://bmqgi.baihongyu.com/

你可能感兴趣的文章
2017年3月Java9带来的革新!
查看>>
Log4j容器深入探究
查看>>
记glide框架使用中所遇到的问题
查看>>
学习AOP之透过Spring的Ioc理解Advisor
查看>>
Jquery一个简单的注册验证
查看>>
SpringMVC基础_ControllerAdvice
查看>>
Toast还能显示图片你知道么?
查看>>
安卓三状态切换按钮TriStateToggleButton
查看>>
Spring框架-AOP细节
查看>>
java.lang.Instrument 代理Agent使用
查看>>
Javascript:指针、帽子和女朋友
查看>>
Android中的ALERTDIALOG使用_优就业
查看>>
java使用javacsv读取csv文件 导入Mysql数据库
查看>>
Apache2.4 + Tomcat7负载均衡和集群(一)
查看>>
基于角色和资源的用户权限控制(用SpringMVC实现)
查看>>
前端代码入门——选择器与优先级 优就业
查看>>
javascript面试的5个冷门知识点
查看>>
Lucene初探
查看>>
Git简介、安装及创建版本库
查看>>
如何在JavaScript中编写一个简单的Bug跟踪器
查看>>