【问题标题】:Android Bluetooth SCO with Nissan car radio带有日产汽车收音机的安卓蓝牙 SCO
【发布时间】:2013-08-19 23:13:49
【问题描述】:

在我们了解细节之前,先介绍一下背景:

  • 汽车:Nissan Note(英国 2011 款)
  • 设备:Nexus 4
  • 操作系统:Android 4.3 Stock

我正在尝试创建一个应用程序,以便在手机通过蓝牙连接时在我的汽车中进行语音识别和合成。汽车音响系统不提供自己的语音识别,而是通过触发意图 android.intent.action.VOICE_COMMAND 将其委托给手机

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

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

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

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

【问题讨论】:

    标签: android bluetooth bluetooth-sco


    【解决方案1】:

    经过大量研究后,我发现了这个:http://developer.android.com/reference/android/bluetooth/BluetoothHeadset.html#stopVoiceRecognition%28android.bluetooth.BluetoothDevice%29 这似乎与问题有关。在适当地调用 startVoiceRecognition 和 stopVoiceRecognition 之后,事情似乎恢复到正常状态。

    【讨论】:

    • 欢迎来到 StackOverflow。感谢您花时间回答自己的问题!事实上,您应该将您的答案标记为已接受的答案,以便其他人知道它确实有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多