web-dev-qa-db-ja.com

BlueZ vs Bluedroid Bluetoothスタック

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の拡張。

助けてください。

17
Nidhin Joseph

BluedroidはBroadcomが提供するスタックであり、Androidでオープンソースになりました。Bluedroidはbluezとは何の関係もありません。bluezよりもいくつかの利点があります(私はそれとは異なります)。

[1]。 Bluedroidは、現在利用可能なコードに従って、a2dpシンクのサポートを備えていません ソースコード a2dpソースのサポートのみが利用可能です

[2]。 Audio.confファイルはbluezスタック用であり、bluedroidの一部ではありません

[3]。 Bluez APIを直接呼び出す-dbus呼び出しを使用すると思いますが、bluedroidはdbusメソッド呼び出しをサポートしていません。コールバックメカニズムが実装されているため、機能しません。bluedroidはbluezの拡張ではありません。

13
ashish

Android Lollipop(5.0)でA2DPシンクの役割がサポートされるようになりました。これにより、Bluedroidソースコードが変更され、同じものがサポートされます。完全にサポートするには、オーディオHAL(audio.h )、AudioPolicyManagerBase.cppおよびaudio_policy.conf、さらにAudio Manager、A2DPStateMachineなど.

3
theangrylama

User987500が言ったように、A2DPシンクはAndroid Lでサポートされています。わずかな変更を加えるだけで、デバイスはA2DP srcからシンクに変更できます。ただし、1つのデバイスでサポートできるロールは1つだけであることを確認してください。 xmlファイルから構成できます。

2
Boatman_Yang

上記の回答に加えて、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から入手できます。

ではごきげんよう!!!

0
aksonlyaks