| 常量 | 简介 |
| — | — |
| ACTION_RECOGNIZE_SPEECH | 开启语音识别调用 |
| ACTION_WEB_SEARCH | 开启网络语音识别,结果以网页的形式显示 |
| EXTRA_LANGUAGE_MODEL | 语音识别的模式 |
| EXTRA_MAX_RESULTS | 返回的最大结果 |
| EXTRA_PROMPT | 设置用户可以开始语音的提示语 |
| EXTRA_RESULTS | 将返回的字符串集中到一个list |
| LANGUAGE_MODEL_FREE_FORM | 在一种模式上的自由语音 |
| LANGUAGE_MODEL_WEB_SEARCH | 使用语言模型在web上搜索 |
| RESULT_AUDIO_ERROR | 返回结果时,音频遇到错误 |
| RESULT_CLIENT_ERROR | 返回结果时,客户端遇到错误 |
| RESULT_NETWORK_ERROR | 返回结果时,网络遇到错误 |
| RESULT_NO_MATCH | 未知错误 |
| RESULT_SERVER_ERROR | 返回结果时,服务端遇到错误 |
1. 首先在AndroidManifest中设置网络权限,Android 6.0以后还需要动态请求权限
2.调用Google原生语音识别
@Override
public void onClick(View v) {
//开启语音识别功能
Intent intent = new Intent(
RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
//设置模式,这里设置成自由模式
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
//提示语音开始文字
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,“Please start your voice”);
//开始进行语音识别,这里先检测手机(模拟器)是否支持语音识别并且捕获异常
try {
startActivityForRes