W swojej aplikacji zadzwonisz pod numer startActivityForResult()
, korzystając z czynności ACTION_RECOGNIZE_SPEECH
. Spowoduje to rozpoczęcie działania rozpoznawania mowy, a następnie można obsłużyć wynik w postaci onActivityResult()
.
private static final int SPEECH_REQUEST_CODE = 0;
// Create an intent that can start the Speech Recognizer activity
private void displaySpeechRecognizer() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
// Start the activity, the intent will be populated with the speech text
startActivityForResult(intent, SPEECH_REQUEST_CODE);
}
// This callback is invoked when the Speech Recognizer returns.
// This is where you process the intent and extract the speech text from the intent.
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == SPEECH_REQUEST_CODE && resultCode == RESULT_OK) {
List<String> results = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
String spokenText = results.get(0);
// Do something with spokenText
}
super.onActivityResult(requestCode, resultCode, data);
}
Więcej informacji można znaleźć w reference
Dzięki, będę spojrzeć na nich. –
ŁADNE! # 2 całkowicie dla mnie pracował. Zabawne, ponieważ w naszej klawiaturze telefonu z Androidem jest już ikona mikrofonu aktywowanego głosem. Kiedy klikniesz w "EditText" w aplikacji, na przykład, jeśli klikniesz ikonę mikrofonu na klawiaturze, automatycznie zacznie dyktować twój głos na "EditText". Nie wymaga żadnego kodu! Jednak nie wszyscy o tym wiedzą, a wyjaśnienie tego w zdaniu byłoby niezręczne w małych granicach interfejsu, więc ta metoda działa dobrze! Dzięki! – Azurespot