Schauen Sie sich die Voice Reorganization in Android
Sie es wie unten implementieren können:
Schreiben Sie den Code unten auf Click-Ereignis von Taste, die für abzufeuern die Stimme Absicht verantwortlich ist.
/**
* Instruct the app to listen for user speech input
*/
private void listenToSpeech() {
//start the speech recognition intent passing required data
Intent listenIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
//indicate package
listenIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getClass().getPackage().getName());
//message to display while listening
listenIntent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Say a word!");
//set speech model
listenIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
//specify number of results to retrieve
listenIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 10);
//start listening
startActivityForResult(listenIntent, VR_REQUEST);
}
Wenn die Absicht ruft zurück, wir, die transkribiert Stimme.
/**
* onActivityResults handles:
* - retrieving results of speech recognition listening
* - retrieving result of TTS data check
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//check speech recognition result
if (requestCode == VR_REQUEST && resultCode == RESULT_OK)
{
//store the returned word list as an ArrayList
ArrayList<String> suggestedWords = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
//set the retrieved list to display in the ListView using an ArrayAdapter
wordList.setAdapter(new ArrayAdapter<String> (this, R.layout.word, suggestedWords));
//to open the result in browser
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://www.google.co.in/?gws_rd=cr#q="+suggestedWords));
startActivity(intent);
}
//tss code here
//call superclass method
super.onActivityResult(requestCode, resultCode, data);
}
Vielen Dank GrIsHu für Ihren Vorschlag. Gemäß dieser Logik kann ich sehen, dass ich das Ergebnis im Browser erhalten kann, aber könnten Sie mir bitte erklären, wie Sie TTS für das genaueste Ergebnis verwenden können. Wenn ich zum Beispiel frage, Wie lang ist Eiffelturm, bekomme ich das Ergebnis im Browser, aber wie kann ich das Ergebnis auswählen, auf dem ich TTS für die Sprachausgabe verwende, damit das Ergebnis hörbar ist. – Shashi
Was will ich sagen, dass ich dich nicht bekomme? – GrIsHu
Die Art und Weise, wie Sie auf dem Google-Sprachsymbol auf dem Android-Gerät klicken und eine Frage stellen, zeigt das Ergebnis meistens auf dem Bildschirm an und teilt die Antwort über Audio mit (Text to Speech). Ich möchte wissen, wie das geht, ich bin grundsätzlich nicht an visuellen Ergebnissen interessiert, sondern ich brauche die Ergebnisse, die vom Gerät gesprochen werden, ähnlich wie es in Google Now geschieht. Lass es mich wissen, wenn ich noch nicht klar genug bin. – Shashi