В приложении, над которым я сейчас работаю, требуется простое распознавание речи одним словом. Однако я не хочу использовать:
startActivityForResult() с помощью ACTION_RECOGNIZE_SPEECH
потому что мне нужно отображать другие вещи, пока пользователь говорит. Поэтому я попробовал это:
speechRecognizer = SpeechRecognizer.createSpeechRecognizer(context);
speechRecognizer.setRecognitionListener(this);
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE,"en");
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
speechRecognizer.startListening(intent);
Это также позволит мне получить результаты, но я всегда получаю:
не выбрана услуга распознавания голоса
Этот код также возвращает false:
boolean speechEnabled = SpeechRecognizer.isRecognitionAvailable(getApplicationContext());
Итак, я думаю, что просто использование SpeechRecognizer
с startListening
просто не работает на Android Wear до сих пор... Любые предложения о том, как я мог реализовать распознавание голоса без отображения какого-либо конкретного пользовательского интерфейса?
EDIT: Я предполагаю, что это связано с тем, что поиск Google Voice не установлен на устройстве, но установка его вручную не является реальной опцией.