Ich habe versucht, den kontinuierlichen SpeechRecognition-Mechanismus zu implementieren. Wenn ich die Spracherkennung starte, bekomme ich folgende Meldungen in logcat:
%Vor%und dieser Fehler 7, was ERROR_NO_MATCH bedeutet. Wie Sie sehen, heißt es fast sofort. Ist das nicht unangemessen?
Hier sind vollständige Protokolle zwischen startSpeechRecognition und dem ersten Fehler 7:
%Vor%Und hier ist mein Code:
%Vor%Mein Gerät ist Samsung Note5. Jeder weiß, wie kann ich das beheben?
Dies ist ein bekannter Fehler, über den ich einen Bericht einreichte. Sie können das Problem mit diesem einfachen Kern reproduzieren.
Der einzige Weg ist es, das siehe Bearbeiten . Dies führt zu anderen Problemen, wie im Hauptteil erwähnt, aber keine, die ein Problem für Ihre App verursachen. SpeechRecognizer
-Objekt jedes Mal neu zu erstellen.
Google wird schließlich einen Weg finden, um kontinuierliches Hören zu verhindern, da es nicht das ist, wofür die API entwickelt wurde. Sie sollten besser PocketSphinx als langfristige Option betrachten.
BEARBEITEN 22.06.16 - Bei der letzten Google-Veröffentlichung hat sich das Verhalten verschlechtert. Eine neue Lösung ist mit dem Kern verknüpft, der die RecognitionListener
ableitet, um nur auf "echte" Rückrufe zu reagieren.
EDIT 01.07.16 " - Siehe diese Frage für ein weiterer neuer Fehler
Ja, Sie haben Recht. Google Spracherkennung ist mit ihrer "Google App" verknüpft. Seit der Version 5.10 (Februar 2016) läuft alles schief und mit der letzten Version 6 ist es ein Durcheinander! Sehen Sie meinen Thread hier im Basic4Android-Forum: Ссылка
Tags und Links android speech-recognition