2017-09-01 4 views
0

Ich verwendete SpeechRecognizer auf Android, um die Stimme des Benutzers zu erkennen. Es funktionierte gut, bis die Google App deinstalliert wurde. (https://play.google.com/store/apps/details?id=com.google.android.googlequicksearchbox&hl=en)SpeechRecognizer, binden an Erkennungsdienst fehlgeschlagen

Ich aktualisierte die Google App, aber ich habe Fehler wie "Bindung an Erkennungsdienst fehlgeschlagen". Wie kann ich die App erfolgreich ausführen lassen?

Was kann ich tun, um SpeechRecognizer normal zu verwenden?

Danke.

Antwort

0

Jedes Mal, wenn die Google App auf die eine oder andere Weise aktualisiert wird, gibt es immer ein Problem mit den Spracherkennungsrückrufen. Entweder ändert Google in regelmäßigen Abständen seine Timeout-Klausel oder einige seltsame Probleme wie Ihre kommen aus dem Nichts.

Sie müssen Ihren Code so dynamisch machen, dass Sie selbst bei einem Fehler in den Sprachrückrufmethoden diesen Fehler abfangen und versuchen müssen, erneut automatisch zuzuhören. Dies wurde in dieser post weit diskutiert und es gibt viele Antworten für Sie, um sie basierend auf Ihrer Anforderung zu überprüfen und zu implementieren.

Wenn Sie dies nicht möchten, können Sie immer die Bibliothek DroidSpeech ausprobieren, die sich um diese Sprachfehlerprobleme kümmert, sobald etwas auftaucht und Ihnen eine kontinuierliche Spracherkennung bietet.

Implementieren Sie einfach die Bibliothek mit Gradle und fügen Sie die folgenden Codezeilen hinzu.

DroidSpeech droidSpeech = neu DroidSpeech (this, null); droidSpeech.setOnDroidSpeechListener (this);

dem Benutzer hören So starten Sie den folgenden Code aufrufen,

droidSpeech.startDroidSpeechRecognition();

Und Sie werden die Stimme Ergebnis in der Listener-Methode,

@Override

public void onDroidSpeechFinalResult (String finalSpeechResult, boolean droidSpeechWillListen) {

}

erhalten