本文共 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/