Android 語音輸入(Speech To Text)
此功能使用Android提供的RecognizerIntent class來實現
public void promptSpeechInput() {
Intent i = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
i.putExtra(RecognizerIntent.EXTRA_PROMPT, "Say Something!");
try {
startActivityForResult(i, 100);
} catch (ActivityNotFoundException a) {
Toast.makeText(MainActivity.this, "您的裝置不支援語音輸入", Toast.LENGTH_LONG).show();
}
}
public void onActivityResult (int request_code, int result_code, Intent i) {
super.onActivityResult(request_code, result_code, i);
switch (request_code) {
case 100:
if (i != null) {
ArrayList<String> result = i.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
txtSpeechToText.setText(result.get(0));
}
break;
}
}
留言
張貼留言