Google ha tranquillamente abilitare il riconoscimento in linea in quel Aggiornamento della ricerca, ma non v'è (ancora) API o parametri aggiuntivi disponibili all'interno il SpeechRecognizer class. {Vedi Modifica in fondo a questo post} La funzionalità è disponibile senza codifica aggiuntiva, tuttavia il dispositivo dell'utente dovrà essere configurato correttamente per poter iniziare a funzionare e questo è dove si trova il problema e immagino per quale motivo degli sviluppatori ritengono che "manchi qualcosa".
Inoltre, Google ha limitato alcuni dispositivi Jelly Bean dall'utilizzo del riconoscimento offline a causa di vincoli hardware. A quali dispositivi questo si applica non è documentato, infatti, nulla è documentato, quindi la configurazione delle funzionalità per l'utente si è dimostrata una questione di tentativi ed errori (per loro). Funziona per alcuni immediatamente - Per quelli che non lo fa, questa è la 'guida' che fornisco loro.
- Assicurarsi che il valore di default di Android Voice Recogniser è impostato su Google non Samsung/Vlingo
- Disinstalla file alcun riconoscimento offline è già stato installato dalle Google Voice Search Impostazioni
- Vai al tuo Impostazioni applicazione Android e vedi se riesci a disinstallare gli aggiornamenti per le applicazioni di ricerca Google e Ricerca vocale Google .
- Se non riesci a fare quanto sopra, vai al Play Store per vedere se hai l'opzione lì.
- Reboot (se si ottengono a 2, 3 o 4)
- aggiornamento di Google Search e Google Voice Search dal Play Store (se hai ottenuto 3 o 4, o se è disponibile un aggiornamento in ogni caso).
- Reboot (se avete raggiunto 6)
- Installa Inglese UK file di lingua non in linea
- Reboot
- Usa utter! con una connessione
- Passa alla modalità aereo e fare un tentativo
- Una volta che si sta lavorando , il riconoscimento offline di altre lingue, , come l'inglese, anche gli Stati Uniti dovrebbero iniziare a lavorare.
MODIFICA: la modifica temporanea delle impostazioni internazionali del dispositivo in inglese UK sembra anche farla funzionare per alcuni.
Alcuni utenti hanno segnalato che dovevano ancora riavviarsi un numero di volte prima che iniziasse a funzionare, ma alla fine arrivano tutti, spesso inspiegabilmente, a quello che era il trigger, la chiave all'interno dello Google Search APK, quindi non nel dominio pubblico o parte di AOSP.
Da quanto posso stabilire, Google verifica la disponibilità di una connessione prima di decidere se utilizzare il riconoscimento offline o online. Se inizialmente è disponibile una connessione ma questa viene persa prima della risposta, Google fornirà un errore di connessione e non ricadrà offline. Come nota a margine, se è stata effettuata una richiesta per la voce sintetizzata in rete, non viene fornita alcuna indicazione di errore se si verifica un errore - Si ottiene il silenzio.
L'aggiornamento di Ricerca Google non ha abilitato funzioni aggiuntive in Google Now e infatti se si tenta di utilizzarlo senza connessione a Internet, si verificherà un errore. Dico questo mentre mi chiedevo se l'abilità sarebbe stata ritirata così silenziosamente come sembrava e quindi non dovrebbe essere invocata nella produzione.
Se si intende iniziare a utilizzare la classe SpeechRecognizer, essere avvisati, vi è un bel major bug associato, che richiede la propria implementazione da gestire.
Non essere in grado di richiedere specificamente
offline = true, rende impossibile il controllo di questa funzione senza modificare la connessione dati. Sciocchezze. Riceverai centinaia di email degli utenti che ti chiederanno perché non hai abilitato qualcosa di così semplice!
EDIT: dal livello di API 23 un nuovo parametro è stato aggiunto EXTRA_PREFER_OFFLINE cui il servizio di riconoscimento di Google non sembrano aderire.
Spero che quanto sopra aiuti.
Quindi, se scarichiamo la lingua, non è necessario modificare il nostro codice? –