Возможно ли для Android-приложения временно отключить "OK Google"?
У меня есть приложение для Android, которое используется для воспроизведения звука через динамик телефона непрерывно, в том числе, когда другие приложения находятся на переднем плане или экран выключен.
Однако в этом приложении есть проблема с тем, что звук, который он воспроизводит, может инициировать обнаружение горячего слова "OK Google", что приводит к бесконечному циклу, так как приложение также перематывает несколько секунд после приостановки.
Таким образом, для пользователя нет выбора, но полностью и постоянно отключить определение горячих слов. Это не оптимально.
Есть ли вызов API, который приложение может использовать для временного отключения обнаружения горячих слов во время воспроизведения звука?
Ответы
Ответ 1
Обнаружение горячих слов отключено с помощью доступной службы:
Чтобы предотвратить ложные срабатывания, обнаружение горячих слов отключено, когда включена услуга речевой связи.
Вы определили свою услугу как предоставляющую все возможные типы обратная связь, которая включает в себя разговорный.
Ответ 2
Грязный трюк может заключаться в удержании микрофона в во время воспроизведения аудиопотока.
Вы можете заблокировать микрофон, используя AudioRecord
(или MediaRecorder
), а затем отпустите его, когда закончите.
Ответ 3
Пожалуйста, взгляните на android:accessibilityFeedbackType
. http://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html#attr_android:accessibilityFeedbackType
Я считаю, что изменение опции feedbackSpoken
даст вам то, что вы хотите. Не использовали эту функцию, но ее стоит изучить.
Вы можете попробовать даже android:accessibilityFeedbackType="feedbackAllMask"
Все лучшее и удача