Android で Bluetooth デバイスを使用して Google ナビゲーションを使用すると、問題が発生します。ナビゲーションは、ターンバイターン方式の指示の音声を A2DP ストリーム経由で送信します。Motorola T605 Bluetooth カー キットがあり、HFP と A2DP をサポートしています。私は昔ながらのカーラジオをよく聞いています。このシナリオでは、ライブ A2DP ストリームがラジオの AUX 入力に送信されているため、ターンバイターン方式の案内は聞こえませんが、代わりにラジオを聞いています。私のアプリには、SMS メッセージを読み上げてくれる機能があります。これに使用するストリームを選択できるように設定しました。T605 で専用の別のスピーカーを使用するため、AudioManager.STREAM_VOICE_CALL を使用することをお勧めします。
これを処理するいくつかの方法を調べました。
1) 通知を A2DP ではなく Bluetooth SCO に再ルーティングします。私はこれを行う方法に資金を提供していません。このパスを介して作成した TTS メッセージを送信でき、うまく機能します (アプリに SMS リーダーが組み込まれています)。SCO を有効にしようとしましたが、音声通話ストリームではなく、ターンバイターン方式の指示ストリームが電話の内部スピーカーに移動します。
2) ナビゲーション メッセージをキャプチャし、SCO パスを介してエコー バックします。ただし、ナビゲーション ストリームを傍受またはキャプチャする方法が見つかりません。Google ナビゲーションは、TTS エンジンまたは独自の方法を使用して音声出力を作成しますか? SMS 文字列の場合と同様に、TTS エンジンに簡単に送信して目的の場所にルーティングできるため、テキスト文字列で道順を取得できれば素晴らしいと思います。
ここで私のアプリのソースを見ることができます: http://code.google.com/p/a2dpvolume/
何かご意見は?