tôi cải thiện ứng dụng Android trong đó sử dụng lớp RecognitionListener để nghe giọng nói của người sử dụng, ở đây tôi nhận được bên dưới kết quả:Làm thế nào để khởi động lại nghe một lần nữa sau khi RecognitionListener mất ERROR_RECOGNIZER_BUSY lỗi
1-) Nếu người dùng nhấp chuột vào biểu tượng micro và nói điều gì đó mọi thứ đều tốt 2-) Nếu người dùng nhấp chuột vào biểu tượng micro và nhấp một lần nữa vào biểu tượng microphone hoặc không nói bất cứ điều gì, tôi nhận được onerror và loại lỗi là: 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){
}
}
đây là mã của tôi để bắt đầu danh sách 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);
}
Tôi muốn khởi động lại nghe khi ERROR_RECOGNIZER_BUSY xuất hiện,
anh chàng khác nói về lỗi này trên stackoverflow nhưng nó không phải là rõ ràng đối với tôi và không thể thực hiện nó.
How to handle ERROR_RECOGNIZER_BUSY
Cảm ơn trước
Cảm ơn trả lời Hoàn nhưng khi tôi hủy recongnizer và khởi động lại nghe trong ** if (ERROR_RECOGNIZER_BUSY) **, thay vì khởi động lại nghe lỗi tương tự lặp lại trong vòng lặp vô hạn. – odincer
Tôi đã chỉnh sửa câu trả lời của mình. –
Hi Hoan, tôi chắc chắn đã áp dụng những gì bạn nói nhưng nó không hiệu quả với tôi, bạn có làm mẫu gì không? Máy của tôi là Samsung S3 với Android 4.1 bằng cách này. – odincer