Прослушивание ключевых слов во все времена, например "Ok google" на 4.4

Я проверил новые библиотеки Kitkat, чтобы убедиться, что у меня что-то не хватает. Я хочу, чтобы мое приложение всегда слушало ключевое слово перед выполнением действия, точно так же, как Google Now всегда прослушивает ключевые слова "Ok google" на рабочем столе.

Как Google выполнил это?

Ответ 1

То, что вам нужно, называется ключевое слово spotting. Помимо онлайн-речи API Android имеет автономный распознаватель, который немного сложнее. Он не упоминается в официальной документации, но вы можете увидеть источники здесь. Я не уверен, что вы найдете там ключевое слово, но по крайней мере у вас будет доступ к низкоуровневым интерфейсам распознавателя.

UPD: Обнаружение ключевых слов и голосовая активность теперь реализованы в pocketsphinx и pocketsphinx-android. Смотрите официальную демонстрацию, чтобы увидеть их как в действии.

Ответ 2

Службы могут работать в фоновом режиме! Вероятно, они вызвали его, установив широковещательный приемник для получения завершенной трансляции загрузки и вызова службы, которая настроена на прослушивание фразы.