使用蓝牙设备在 Android 上使用 Google Navigation 时出现问题。导航通过 A2DP 流发送转弯指示的音频。我有一个摩托罗拉 T605 蓝牙车载套件,它支持 HFP 和 A2DP。不过,我经常只听老式汽车收音机。在这种情况下,我从来没有听到转弯指示,因为我的实时 A2DP 流被发送到收音机 AUX 输入,但我正在收听收音机。我的应用程序具有向我读出 SMS 消息的功能。我已经设置好了,因此您可以选择要用于此的流。我更喜欢使用 AudioManager.STREAM_VOICE_CALL,因为它在 T605 上使用了一个专用的独立扬声器。
我研究了几种方法来处理这个问题:
1) 将通知重新路由到蓝牙 SCO 而不是 A2DP。我还没有资助一种方法来做到这一点。我可以通过这条路径发送我创建的 TTS 消息,并且效果很好(我的应用程序中内置了一个 SMS 阅读器)。我尝试激活 SCO,但转向指令流移动到手机内部扬声器,而不是我喜欢的语音呼叫流。
2) 捕获导航消息并将它们回显到 SCO 路径上。我找不到拦截或捕获导航流的方法。Google Navigation 是否使用 TTS 引擎或其自己的方法来创建语音输出?仅在文本字符串中获取方向会很棒,因为我可以轻松地将其发送到 TTS 引擎并将其路由到我想要的位置,就像使用 SMS 字符串一样。
您可以在此处查看我的应用源:http ://code.google.com/p/a2dpvolume/
有什么想法吗?