2013-12-05 12 views
17

BlueZには多くの文書があります。そして、同じことから、私はBlueZがA2DPシンクサポートをサポートしていることを理解しました。同時に、アンドロイドデバイスは、内部のaudio.confファイルを変更することで、A2DPシンクとして動作させることができます。BlueZとBluedroidのBluetoothスタック

また、アンドロイド4.2以降では、BlueZスタックがBroadcomのBluedroidスタックに置き換えられたこともわかりました。 Bluedroidのスタックについてたくさん調べました。しかし、私は同じことについて多くの詳細を見つけることができませんでした。

誰かが次の疑問を持って私を助けてくれることを願っています。

1)。 BluedroidがA2DPシンクをサポートしているかどうか?

2)。 audio.confファイルをbluedroidスタックを持つデバイスで使用できるかどうか

3)。私は、BlueZスタックのAPIを直接呼び出すことによって、アンドロイドデバイス用のA2DPシンクサポートを作成しようとしています。しかし、私の最終的な質問は、Bluedroidスタックでも同じことができるかどうかです。 BluedroidはBlueZの拡張に過ぎません。

助けてください。

答えて

13

BluedroidはBroadcomが提供するスタックで、アンドロイドではオープンソースです。 Bluedroidはbluezとは関係がありません。bluezに比べていくつかの利点があります(私はそれとは異なります)。

[1]。 Bluedroidには現在、コードごとにa2dpシンクのサポートはありません。source code a2dpソースのサポートのみ利用可能です。

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

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

+1

これは私が今までに得た最高の答えの1つでした。どうもありがとうございます。私のすべての混乱を解決した:) –

+0

もう一つ知りたい。アンドロイド4.3以降、BlueZスタック全体がBluedroidスタックに置き換えられましたか? またはその両方が下位互換性をサポートするように統合されています。この質問が意味をなさないかどうかわかりません。しかし、私はちょうどこれを確認するために、私の研究と同じ上に移動する:) –

+0

私はいくつかのベンダーがまだbluezを使用したいと思う、彼はアンドロイドの構成の変更でそれを行うことができます、まだ私はまた、 – ashish

3

A2DPシンクの役割は、Android Lollipop(5.0)でサポートされるようになりました。彼らはBluedroidのソースコードを修正して同じものをサポートしています。それを完全にサポートするには、オーディオHAL(audio.h)、AudioPolicyManagerBase.cpp、audio_policy.conf、およびオーディオマネージャー、A2DPStateMachineなどを変更する必要があります。

+0

あなたは 'A2DP'シンクの役割を完全にサポートする方法に関するガイドを指摘できますか? – tchelidze

2

ユーザーが言うように、A2DPシンクはアンドロイドLあなたはデバイスをA2DPのsrcからsinkに変更することができます。 ただし、1つのデバイスでサポートできる役割は1つだけで、xmlファイルから設定できます。

+0

**ほんの少しの変更** **あなたはそれについてより具体的になりますか? – tchelidze

0

上記の回答に加えて、Android L、シンクサポートが導入されていますが、まだコードのオーディオストリーミング部分が完成していないためです。

BluetoothのA2DPシンク

:しかし、私は、変更リストのコミットメッセージで述べたように11,010シンクの実装が完了し、メディアがシンク機器を介して再生することができthis変更リストを発見しましたこの変更により、A2DPシンク機能が実装されます。アンドロイドデバイスが シンクの役割であれば、BTから電話から音楽を受信できます。この機能は、 をマルチメディアカーキット、セットトップボックス、およびファミリHiFiに適用することができます。ボード設定で BLUETOOTH_A2DP_SINK:= trueに設定すると、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デコーダを含んでいません。 github.com/tieto/sbc-decoderからSBCデコーダ を入手できます。

すべてベスト!

+0

がそれ以上遠くに行くと、[this patch](https://android-review.googlesource.com/#/c/98161/)が 'andoroid 4.4。*'に適用されるという問題があります。パッチの変更は既にAndroid Lに適用されています(*部分的に*おそらく) – tchelidze

関連する問題