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

代码也很简单,直接调用方法 startVoiceRecognitionActivity()

如果大家手机里面没有谷歌搜索,这里会弹出一个下载框给我们选择下载

识别完成后,得到result List数组,里面有很多识别结果,我们获取第一个就可以了

贴出代码:

/** * 調用方法 */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() {@Overridepublic 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() {@Overridepublic 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 results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);if (results.size() > 0) {voiceView.setText(results.get(0));} else {Utils.getInstance().showTextToast("檢測失敗,請重新點擊識別!", context);}}}

https://play.google.com/store/apps/details?id=com.google.android.voicesearch.x提示未找到語音識別設備,是否下載?取消下載

本文转载自:CSDN博客

欢迎加入我爱机器学习QQ14群:336582044

getqrcode.jpg

微信扫一扫,关注我爱机器学习公众号

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐