在蓝牙耳机启动语音识别会话期间阻止Google智能助理?

时间:2018-05-18 03:14:31

标签: audio-recording android-bluetooth voice-recognition google-assistant-sdk headset

我正在使用语音识别应用程序,该应用程序使用蓝牙免提配置文件(HFP aka耳机配置文件)连接连接到自定义硬件。该应用程序用于通过利用Android AudioRecord类将PCM音频数据传递到基于云的语音识别服务器。如果应用程序启动SCO连接,此功能可正常工作,但如果耳机硬件启动SCO连接,则通过向手机发出AT + BVRA HFP命令,Google智能助理始终会劫持手机。因此,我的问题是如何阻止这种情况?有没有办法以编程方式告诉Google智能助理冷静?我尝试了很多不同的东西(AudioManager sco管理,AudioRouting首选连接,BluetoothHeadset配置文件类,Java Reflection& View.setAssitBlocked(true)等等),但它们似乎都无法阻止Google智能助理或重新获得SCO连接。 (似乎手机还为谷歌助手的音频输入打开了A2DP)。我希望通过基于Java的解决方案实现这一点......?

1 个答案:

答案 0 :(得分:-1)

As noted by another answer,可能发生的情况是Android正在广播ACTION_VOICE_COMMAND intent,并且由于设置了Google Assistant来接收它,因此它在连接上具有优先权。您的应用可以注册该意图,并查看它是否在接收它时获得优先权。