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

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

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

Ответы

Ответ 1

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

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

Ответ 2

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