Android蓝牙SCO与日产汽车收音机

Android蓝牙SCO与日产汽车收音机,android,bluetooth,bluetooth-sco,Android,Bluetooth,Bluetooth Sco,在我们讨论细节之前,先了解一下上下文: 汽车:日产注释(英国2011车型) 设备:Nexus4 操作系统:安卓4.3股票 我正在尝试创建一个应用程序,当手机通过蓝牙连接时,在我的车上进行语音识别和合成。汽车音响系统不提供自己的语音识别功能,而是通过触发intent android.intent.action.voice_命令将其委托给手机 设备上处理此问题的默认应用程序是谷歌搜索应用程序,该应用程序具有免提拨号的特定活动。该应用程序具有糟糕的语音识别功能,但确实演示了该系统的工作原理-激活时

在我们讨论细节之前,先了解一下上下文:

  • 汽车:日产注释(英国2011车型)
  • 设备:Nexus4
  • 操作系统:安卓4.3股票
我正在尝试创建一个应用程序,当手机通过蓝牙连接时,在我的车上进行语音识别和合成。汽车音响系统不提供自己的语音识别功能,而是通过触发intent android.intent.action.voice_命令将其委托给手机

设备上处理此问题的默认应用程序是谷歌搜索应用程序,该应用程序具有免提拨号的特定活动。该应用程序具有糟糕的语音识别功能,但确实演示了该系统的工作原理-激活时,汽车会在应用程序运行时在手机屏幕上显示“Voice recognition active”,然后在应用程序退出时将其隐藏

我的问题是,虽然我可以通过调用AudioManager.startBluetoothSco()来显示此标签,从而通过汽车扬声器播放音频并通过汽车麦克风录制,但AudioManager.stopBluetoothSco()不会在汽车中禁用此模式,并且它仍然显示“语音识别激活”。这是一个问题,因为在蓝牙连接关闭并重新打开之前,汽车不会启动应用程序

我的实验已经证实,是AudioManager.startBluetoothSco()启用了汽车中的模式,AudioManager.stopBluetoothSco()似乎具有改变汽车产生的环境声音的效果(通常在音频系统激活时听到的非常微弱的嘶嘶声会在发出此命令时停止)但没有看到其他影响


我不确定调用AudioManager.startBluetoothSco()是否会隐式激活其他内容,然后必须隐式停止,但我目前不知道该尝试什么。

经过大量研究,我发现:
这似乎与问题有关。在调用startVoiceRecognition和stopVoiceRecognition(视情况而定)后,情况似乎恢复到正常状态。

欢迎使用StackOverflow。感谢您花时间回答自己的问题!事实上,你应该将你的答案标记为被接受的答案,以便其他人知道它确实有效。