Sto usando android.speech.SpeechRecognizer
in DICTATION_MODE
per riconoscere i comandi durante un lungo periodo di tempo. In questa modalità la chiamata al metodo di callback onPartialResults
ritarda molto più che in modalità normale. Qualcuno sa perché questo accada e come evitare questo ritardo?Ritardo quando si utilizza android.speech.SpeechRecognizer in DICTATION_MODE
Questa è la configurazione che uso per il SpeechRecognizer
: tempo
Intent recognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
recognizerIntent.putExtra("calling_package", mainActivity.getApplicationContext().getPackageName());
recognizerIntent.putExtra("android.speech.extra.DICTATION_MODE", true);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 100);
Ti suggerisco di dare un'occhiata e giocare con quei flag della classe ** RecognizerIntent ** e inserire valori aggiuntivi nell'oggetto Intent. 'EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS' <- soprattutto questo ' 'EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS' EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS' Questo può essere problematico in quanto i comportamenti in modo diverso basato sulla versione di Android e il modello del dispositivo. Inoltre, dai uno sguardo a quelli: https://code.google.com/p/android/issues/detail?id=76130 Volevo postarlo come risposta, ma ho deciso che il commento sarebbe stato migliore. – scana
Sì, ho provato anche queste opzioni senza successo. Qualche altro suggerimento? – acimutal
sei in balia del riconoscimento vocale installato. probabilmente è in attesa di raccogliere più contesto per contribuire a dettare una dettatura più accurata. se non sei soddisfatto, non c'è niente da fare a meno di usare un motore di riconoscimento vocale diverso. –