Я пытаюсь разработать классное приложение, использующее механизм TTS
и распознавание речи. Пока это нормально, но я хочу больше. Я хотел бы создать службу (я думаю, что сервис - это правильный путь), который всегда "прослушивается", а когда кто-то говорит "t21" или что-то еще, начинается распознавание речи, например google. Например, если вы скажете "ok google"
теперь запускается google. Я не знаю, с чего начать, поэтому я прошу прямо здесь, если это возможно. Я попытался посмотреть эту тему [здесь] ( Прослушивание ключевых слов во все времена, например "Ok google" и 4.4), и последний ответ касался службы, так как Я думал. Может ли кто-нибудь помочь мне с моим кодом?
Например, это код для запуска распознавания речи, нажимая кнопку:
/**
* Instruct the app to listen for user speech input
*/
private void listenToSpeech() {
//start the speech recognition intent passing required data
Intent listenIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
//indicate package
listenIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getClass().getPackage().getName());
//message to display while listening
listenIntent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Say a word!");
//set speech model
listenIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
//specify number of results to retrieve
listenIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 10);
//start listening
startActivityForResult(listenIntent, VR_REQUEST);
}
Считаете ли вы возможным запустить этот listenIntent
только с голосом и без нажатия какой-либо кнопки? Это то, что я имею в виду.