Android 调用谷歌语音识别

調用谷歌语音识别其实很简单,直接利用 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() {
					@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);
			}
		}
	}

 


 

    <string name="voice_url">https://play.google.com/store/apps/details?id=com.google.android.voicesearch.x</string>
    <string name="dialog_title">提示</string>
    <string name="dialog_content">未找到語音識別設備,是否下載?</string>
    <string name="cancel">取消</string>
    <string name="download">下載</string>



posted on 2013-09-05 19:21  you Richer  阅读(417)  评论(0编辑  收藏  举报