0

AudioManager モードを MODE_IN_COMMUNICATION に設定し、Media Player ストリームを STREAM_VOICE_CALL に設定すると、オーディオをスピーカーフォンまたは内蔵ハンドセット スピーカーに問題なくルーティングできます。また、内蔵スピーカーにルーティングされ、有線ヘッドセットが差し込まれている場合、自動的にルーティングされます。ただし、オーディオを A2DP ヘッドセットにルーティングする方法がわかりません (オーディオ モードを MODE_NORMAL に変更したり、ストリームを STREAM_MUSIC に変更したりする必要はありません)。私の問題は、MODE_NORMAL と STREAM_VOICE_CALL を使用すると一部のデバイスで問題が発生し、STREAM_MUSIC を使用すると、バックグラウンドで既に音楽が再生されている場合に問題が発生し、アプリがそのバックグラウンド ミュージックと「ミックス」することです。

そのため、MODE_IN_COMMUNICATION と STREAM_VOICE_CALL の組み合わせを使用して、音声を A2DP ヘッドセットに強制する方法があることを期待していました。それは可能ですか?

4

1 に答える 1

0

一部のデバイスでは機能する可能性がありますが、大部分のデバイス間の互換性を気にする場合、答えは「いいえ」です。

電話の状態が である場合、MODE_IN_CALLまたはMODE_IN_COMMUNICATIONすべてのストリームは通常、PHONEルーティング戦略に従います。これは、次の理由により、A2DP へのルーティングが許可されないことを意味します。

1) いずれにせよ、A2DP は双方向音声をサポートしていません。

2) BT アクセサリがハンズフリー プロファイルをサポートしている場合、ボイス オーディオに SCO リンクが使用され、A2DP に使用される ACL チャネルは 2 つの間の干渉を避けるために閉じる必要があります。

于 2013-05-09T10:36:39.547 に答える