SpeechRecognizer возвращает ERROR_NO_MATCH в onResults, когда устройство находится в автономном режиме, когда оно возвращает частичные результаты в onPartialResults(). В последний раз, когда я играл с SpeechRecognizer, он работал нормально в офлайн-режиме, интересно, нашел ли кто-нибудь решение для него.SpeechRecognizer offline ERROR_NO_MATCH
ответ
В качестве работы я использую partialResults, возвращаемый inPartialResults(). В возвращенном комплекте «SpeechRecognizer.RESULTS_RECOGNITION» есть все термины минус последний термин, а «android.speech.extra.UNSTABLE_TEXT» имеет последний отсутствующий признанный термин.
@Override
public void onPartialResults(Bundle partialResults) {
ArrayList<String> data = partialResults.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
ArrayList<String> unstableData = partialResults.getStringArrayList("android.speech.extra.UNSTABLE_TEXT");
mResult = data.get(0) + unstableData.get(0);
}
Для того, чтобы ответить немного более ясно, что вам нужно включить частичные результаты первого и вызвать UNSTABLE_TEXT в определенной моды:
// When creating the intent, set the partial flag to true
intent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS,true);
// When requesting results in onPartialResults(), the UNSTABLE_TEXT parameter to getSTtringArrayList() must be in quotes
ArrayList<String> unstableMatches = partialResults.getStringArrayList("android.speech.extra.UNSTABLE_TEXT");
onPartialResults() вызывается несколько раз now и onError() по-прежнему вызывается с помощью ERROR_NO_MATCH. Я в конечном итоге, используя раствор, похожий на тот, перечисленные здесь: https://github.com/nenick/QuAcc/blob/master/app/src/main/java/de/nenick/quacc/speechrecognition/speech/RecognizerListenerWithOfflineWorkaround.java
В двух словах:
- отслеживать частичных результатов, и было ли показано ошибка
- Сброс как в onBeginningOfSpeech()
- Сохранять частичные результаты в переменной, когда onPartialResults() вызывается
- Когда вызывается onError(), проверьте, является ли результат ERROR_NO_MATCH и объединяет SpeechRecognizer.RESULTS_RECOGNITION с «android.speech.extra.UNSTABLE_TEXT» в вашу часть ial результатов
- Звоните по результатам()
- 1. андроид PhoneGap SpeechRecognizer Не удается прочитать свойство «speechrecognizer
- 2. Android phonegap Проблема с SpeechRecognizer: Невозможно прочитать свойство 'speechrecognizer'
- 3. SpeechRecognizer stopListening() не работает
- 4. C# UWP SpeechRecognizer проблемы
- 5. SpeechRecognizer продолжает получать ERROR_NETWORK
- 6. SpeechRecognizer WinRT нежелательный аудиовыход
- 7. SpeechRecognizer дает поддельные результаты
- 8. Возможно сделать SpeechRecognizer быстрее?
- 9. Невозможно запустить Speechrecognizer Android
- 10. EXTRA_LANGUAGE_PREFERENCE для SpeechRecognizer?
- 11. SpeechRecognizer - ограничение по времени
- 12. Android SpeechRecognizer плохая точность
- 13. Speech Recognizer Offline Canability Windows Phone 8.1
- 14. Android Speechrecognizer stopListening() не действует?
- 15. Android SpeechRecognizer words pool/context
- 16. Пользовательская клавиатура Android с SpeechRecognizer
- 17. Android SpeechRecognizer ценности "доверия" путаете
- 18. Ассоциирование SpeechRecognizer с удельным микрофоном
- 19. Ошибка речи SpeechRecognizer со стеклом
- 20. Использование SpeechRecognizer с Bluetooth-гарнитурой
- 21. Android - SpeechRecognizer и проводная гарнитура
- 22. Google Glass и SpeechRecognizer класс
- 23. OpenStreetMap offline?
- 24. Appcache offline
- 25. SpeechRecognizer не работает в автономном режиме
- 26. SpeechRecognizer не слышит после первого результата
- 27. Android SpeechRecognizer терпит неудачу при втором прослушивании
- 28. Не получать результаты от SpeechRecognizer class?
- 29. Может ли SpeechRecognizer поддерживать другие языки?
- 30. SpeechRecognizer: не подключен к службе распознавания
Можете ли вы показать свой код? – Raptor