ja Udoskonalanie aplikacji Android, który wykorzystuje klasę RecognitionListener słuchać głosu użytkownika, tutaj ja dostać poniżej wyników:Jak zrestartować słuchania ponownie po RecognitionListener wziąć błąd ERROR_RECOGNIZER_BUSY
1-) Jeśli użytkownik kliknij ikonę mikrofonu i powiedział coś wszystko jest w porządku 2-) Jeżeli użytkownik kliknie na ikonę mikrofonu i ponownie kliknąć na ikonę mikrofonu albo nie mówią nic, ja dostać onError i rodzaj błędu: 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){
}
}
Oto mój kod na liście startowej ening:
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);
}
chcę uruchomić ponownie słuchać kiedy pojawi ERROR_RECOGNIZER_BUSY,
Kolejny facet powiedział o tym błędzie na stackoverflow, ale nie jest jasne dla mnie i nie można go wdrożyć.
How to handle ERROR_RECOGNIZER_BUSY
góry dzięki
Dzięki za odpowiedź Hoan ale kiedy odwołany recongnizer i ponownie słuchać w ** if (ERROR_RECOGNIZER_BUSY) **, zamiast wznawiać słuchanie tego samego powtórzenia błędu w nieskończonej pętli. – odincer
Edytowałem swoją odpowiedź. –
Witam Hoan, z pewnością zastosowałem to, co powiedziałeś, ale to nie działa dla mnie, czy masz działającą próbkę? Moja maszyna to samsung S3 z Androidem 4.1 przy okazji. – odincer