Google hat die Offline-Erkennung in diesem Suchupdate stillschweigend aktiviert, es sind jedoch (noch) keine API oder zusätzlichen Parameter in der SpeechRecognizer-Klasse verfügbar . {Siehe Bearbeiten am Ende dieses Beitrags} Die Funktionalität ist ohne zusätzliche Codierung verfügbar. Das Gerät des Benutzers muss jedoch korrekt konfiguriert sein, damit es funktioniert. Hier liegt das Problem, und ich würde mir vorstellen, warum viele Entwickler Nehmen wir an, sie vermissen etwas.
Außerdem hat Google bestimmte Jelly Bean-Geräte aufgrund von Hardwareeinschränkungen daran gehindert, die Offline-Erkennung zu verwenden. Für welche Geräte dies gilt, ist nicht dokumentiert. Tatsächlich ist nichts dokumentiert. Die Konfiguration der Funktionen für den Benutzer hat sich (für sie) als Versuch und Irrtum erwiesen. Es funktioniert für einige sofort - Für diejenigen, die es nicht tun, ist dies der 'Leitfaden', den ich ihnen zur Verfügung stelle.
- Stellen Sie sicher, dass der Standard-Android-Spracherkenner auf Google und nicht auf Samsung / Vlingo eingestellt ist
- Deinstallieren Sie alle Offline-Erkennungsdateien, die Sie bereits in den Google Sprachsucheinstellungen installiert haben
- Gehen Sie zu Ihren Android-Anwendungseinstellungen und prüfen Sie, ob Sie die Updates für die Anwendungen Google Search und Google Voice Search deinstallieren können.
- Wenn Sie dies nicht tun können, gehen Sie zum Play Store und prüfen Sie, ob Sie dort die Option haben.
- Neustart (wenn Sie 2, 3 oder 4 erreicht haben)
- Aktualisieren Sie die Google-Suche und die Google-Sprachsuche im Play Store (wenn Sie 3 oder 4 erreicht haben oder wenn ein Update trotzdem verfügbar ist).
- Neustart (wenn Sie 6 erreicht haben)
- Installieren Sie die Offline-Sprachdateien von English UK
- Starten Sie neu
- Verwenden Sie äußerste! mit einer Verbindung
- Wechseln Sie in den Flugzeugmodus und probieren Sie es aus
- Sobald es funktioniert, sollte auch die Offline-Erkennung anderer Sprachen wie Englisch (USA) funktionieren.
BEARBEITEN: Das vorübergehende Ändern des Gebietsschemas des Geräts auf Englisch in Großbritannien scheint dies ebenfalls zu starten, damit es für einige funktioniert.
Einige Nutzer gaben an, dass sie noch einige Male neu starten mussten, bevor es funktionieren würde, aber sie alle gelangen schließlich dorthin, oft unerklärlich zu dem Auslöser, dessen Schlüssel sich in der Google Search APK befinden , also nicht im öffentlichen Bereich oder ein Teil von AOSP .
Soweit ich feststellen kann, testet Google die Verfügbarkeit einer Verbindung, bevor entschieden wird, ob die Offline- oder Online-Erkennung verwendet wird. Wenn eine Verbindung anfänglich verfügbar ist, aber vor der Antwort verloren geht, gibt Google einen Verbindungsfehler aus und greift nicht auf Offline zurück. Nebenbei bemerkt, wenn eine Anfrage für die netzwerksynthetisierte Stimme gestellt wurde, wird kein Fehler angezeigt, wenn dies fehlschlägt - Sie erhalten Stille.
Das Google Search-Update hat keine zusätzlichen Funktionen in Google Now aktiviert. Wenn Sie versuchen, es ohne Internetverbindung zu verwenden, tritt ein Fehler auf. Ich erwähne dies, als ich mich fragte, ob die Fähigkeit so leise zurückgezogen werden würde, wie es schien, und daher in der Produktion nicht als verlässlich angesehen werden sollte.
Wenn Sie beabsichtigen, die SpeechRecognizer-Klasse zu verwenden, seien Sie gewarnt, es ist ein ziemlich schwerwiegender Fehler damit verbunden, für dessen Behandlung Ihre eigene Implementierung erforderlich ist.
Wenn nicht speziell offline = true angefordert werden kann , ist es unmöglich, diese Funktion zu steuern, ohne die Datenverbindung zu manipulieren. Müll. Sie erhalten Hunderte von Benutzer-E-Mails, in denen Sie gefragt werden, warum Sie etwas so Einfaches nicht aktiviert haben!
BEARBEITEN: Seit API-Level 23 wurde ein neuer Parameter EXTRA_PREFER_OFFLINE hinzugefügt, an den sich der Google-Erkennungsdienst anscheinend zu halten scheint.
Hoffe das oben genannte hilft.