我有一个Android应用程序,用于通过手机扬声器连续播放音频,包括其他应用程序在前台或屏幕关闭时。
然而,这个应用程序有一个问题,它播放的音频可以触发"OK Google"热词检测,这导致了一个无限循环,因为应用程序在暂停时也会倒带几秒钟。
因此,用户别无选择,只能完全永久地禁用热词检测。这不是最优的。
是否有一个API调用,应用程序可以使用暂时禁用热词检测,而它正在播放音频?
使用无障碍服务禁用热词检测:
为防止误报,在开通语音反馈业务时,关闭热词检测。
您已将您的服务定义为提供所有可能类型的反馈,包括口头反馈。
一个肮脏的技巧可以是在播放音频流时保持麦克风忙。
您可以使用AudioRecord
(或MediaRecorder
)锁定麦克风,然后在完成后释放它。
请查看android:accessibilityFeedbackType
。http://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html attr_android: accessibilityFeedbackType
我相信通过改变feedbackSpoken
的选项会给你你想要的。我还没有真正使用过这个功能,但它值得探索。你甚至可以尝试android:accessibilityFeedbackType="feedbackAllMask"
祝一切顺利,万事如意。