[Android] Google語音識別

[Android] Google語音識別

protected void onCreate(){
 PackageManager pm = getPackageManager();
 List activities = pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
 if (activities.size() == 0) {
  Log.e(TAG, "Oops...ACTION_RECOGNIZE_SPEECH not present");
  return;
 }
 // 啟動語音辨識
 Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
 intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
 intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "請說...");
 startActivityForResult(intent, RECOGNITION_REQUEST_CODE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 if (requestCode != RECOGNITION_REQUEST_CODE) {
  Log.d(TAG, "The request code doesn't match - " + requestCode);
  return;
 }
 if (resultCode != RESULT_OK) {
  Log.d(TAG, "The result code doesn't match - " + resultCode);
  return;
 }
 // 語音辨識成功後,將結果回寫
 List result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
 Toast.makeText(getApplicationContext(), result.get(0).toString(), Toast.LENGTH_LONG).show();
 Log.d(TAG,"Voice : " + result.get(0).toString());
 DoAfterVoice(result.get(0).toString());
}

public void DoAfterVoice(String v_msg){
 //v_msg 語音收到既文字
}


//下面這行無關

留言