sto migliorando un'applicazione Android che utilizza classe RecognitionListener ad ascoltare la voce dell'utente, qui ottengo sotto i risultati:Come riavviare l'ascolto di nuovo dopo RecognitionListener prendere errore ERROR_RECOGNIZER_BUSY
1-) Se l'utente clicca sull'icona del microfono e disse qualcosa tutto va bene 2-) Se l'utente clicca sull'icona del microfono e fare nuovamente clic sull'icona del microfono o non ha detto niente, ottengo onerror e il tipo di errore è: ERROR_RECOGNIZER_BUSY
@Override
public void onError(int error) {
if ((error == SpeechRecognizer.ERROR_NO_MATCH)
|| (error == SpeechRecognizer.ERROR_SPEECH_TIMEOUT)){
}
else if(ERROR_RECOGNIZER_BUSY){
}
}
Ecco il mio codice per la lista di partenza zare:
public void recognizeSpeechDirectly()
{
recognizer = SpeechRecognizer.createSpeechRecognizer(this.context);
recognizer.setRecognitionListener(this);
recognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, "org.twodee.andytest");
recognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
recognizer.startListening(recognizerIntent);
}
voglio riavviare l'ascolto quando appare ERROR_RECOGNIZER_BUSY,
Un altro ragazzo ha parlato di questo errore su StackOverflow, ma non è chiaro per me e non può attuarlo.
How to handle ERROR_RECOGNIZER_BUSY
Grazie in anticipo
Grazie per la risposta Hoan ma quando ho cancellato recongnizer e riavviare l'ascolto a ** se (ERROR_RECOGNIZER_BUSY) **, invece di riavviare l'ascolto lo stesso errore si ripete in loop infinito. – odincer
Ho modificato la mia risposta. –
Ciao Hoan, ho certamente applicato quello che hai detto ma non funziona per me, hai qualche campione di lavoro? La mia macchina è Samsung S3 con Android 4.1 tra l'altro. – odincer