BlueZには多くのドキュメントとすべてがあります。同じことから、BlueZがA2DPシンクのサポートをサポートしていることがわかりました。同時に、Androidデバイスは、その中のaudio.confファイルを変更することにより、A2DPシンクとして機能させることができます。
また、Android 4.2以降、BlueZスタックがBroadcomのBluedroidスタックに置き換えられたことを知りました。Bluedroidスタックについてたくさん検索しましたが、同じことについて詳細を見つけることはできませんでした。 。
誰かが以下の疑問について私を助けてくれることを願っています。
1)。 BluedroidがA2DPシンクをサポートしているかどうか?
2)。 bluedroidスタックを持つデバイスでaudio.confファイルを使用できるかどうか。
3)。 BlueZスタックのAPIを直接呼び出して、AndroidデバイスのA2DPシンクサポートを記述します。しかし、最後の質問は、Bluedroidスタックでも同じことが使用できるかどうかです。BluedroidがBlueZの拡張。
助けてください。
BluedroidはBroadcomが提供するスタックであり、Androidでオープンソースになりました。Bluedroidはbluezとは何の関係もありません。bluezよりもいくつかの利点があります(私はそれとは異なります)。
[1]。 Bluedroidは、現在利用可能なコードに従って、a2dpシンクのサポートを備えていません ソースコード a2dpソースのサポートのみが利用可能です
[2]。 Audio.confファイルはbluezスタック用であり、bluedroidの一部ではありません
[3]。 Bluez APIを直接呼び出す-dbus呼び出しを使用すると思いますが、bluedroidはdbusメソッド呼び出しをサポートしていません。コールバックメカニズムが実装されているため、機能しません。bluedroidはbluezの拡張ではありません。
Android Lollipop(5.0)でA2DPシンクの役割がサポートされるようになりました。これにより、Bluedroidソースコードが変更され、同じものがサポートされます。完全にサポートするには、オーディオHAL(audio.h )、AudioPolicyManagerBase.cppおよびaudio_policy.conf、さらにAudio Manager、A2DPStateMachineなど.
User987500が言ったように、A2DPシンクはAndroid Lでサポートされています。わずかな変更を加えるだけで、デバイスはA2DP srcからシンクに変更できます。ただし、1つのデバイスでサポートできるロールは1つだけであることを確認してください。 xmlファイルから構成できます。
上記の回答に加えて、Android Lであるため、シンクのサポートが導入されましたが、コードのオーディオストリーミング部分はまだ完了していません。しかし、 this 変更リストを見つけました変更リストのコミットメッセージに記載されているように、a2dpシンクの実装が完了し、シンクデバイスを介してメディアを再生できます。
Bluetooth A2DPシンク
この変更により、A2DPシンク機能が実装されます。 Androidデバイスがシンクの役割の場合、デバイスはBT経由で電話から音楽を受信できます。この機能は、マルチメディアカーキット、セットトップボックス、ファミリーHiFiに適用できます。BLUETOOTH_A2DP_SINK:= trueを設定しますBoardd.mkで、bluedroidのA2DPシンク機能を有効にします。
音楽をスピーカーにルーティングするには、以下のフレームワークの変更も必要です。 https://Android-review.googlesource.com/#/c/97832/https://Android-review.googlesource.com/#/c/97853/https://Android-review.googlesource.com/#/c/97833/https://Android-review.googlesource.com/#/c/98130/https://Android-review.googlesource.com/#/c/98131/
この変更には、SBCデコーダーは含まれていません。 SBCデコーダーはgithub.com/tieto/sbc-decoderから入手できます。
ではごきげんよう!!!