Разработка приложения похожа на «Google сейчас» – возможно ли использовать распознавание голоса без ввода ключа?

Я пытаюсь разработать классное приложение, которое использует механизм TTS и распознавание речи. Пока все в порядке, но я хочу больше. Я хотел бы создать службу (я думаю, что сервис – это правильный путь), который всегда «прослушивается», а когда кто-то говорит "ok google" или что-то еще, начинается распознавание речи, например 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 только с голосом и без нажатия какой-либо кнопки? Это то, что я имею в виду.

Solutions Collecting From Web of "Разработка приложения похожа на «Google сейчас» – возможно ли использовать распознавание голоса без ввода ключа?"

Вы можете иметь ссылку с помощью Utter

Это приложение использует горячее распознавание слов как «Google Now».

И нет такого API, предоставляемого Android для выполнения такой операции.

Не забудьте опубликовать свои результаты.

Обратите внимание: его интенсивность процессора и аккумуляторные батареи постоянно прослушиваются в фоновом режиме.

Это не ява, но ты видел Джаспера? Выглядит многообещающе: http://jasperproject.github.io

Хорошо с Jform, а не с Android, и вы создаете кнопку, вы можете вызвать button.doClick (). Так что я использовал таймер, Timer.scheduleAtFixedRate (новая задача (), int delay, int iterval); Так что он будет делать это независимо и повторяться. Так что я пытаюсь получить, это, я уверен, что это способ в android для do.action / button / key и т. Д., И вы можете использовать таймер, чтобы активировать его независимо. Видя, как будто это пустота, просто попробуйте

 listenToSpeech(); 

Что касается таймера;

 Timer listenTimer = new Timer(); //listenTimer.schedualAtFixedRate(new listeningTask(),0,1);//place this where your program starts as this starts the timer class listeningTask extends TimerTask{ if(condition){ listenToSpeech(); } } 

Извините за формат или отступ, используя планшет.