it-swarm.com.de

BlueZ gegen Bluedroid-Bluetooth-Stapel

BlueZ hat viele Dokumentationen und alle. Und aus dem gleichen Grund habe ich verstanden, dass BlueZ die Unterstützung von A2DP-Senken unterstützt. Gleichzeitig kann ein Android-Gerät als A2DP-Senke fungieren, indem die Datei audio.conf in derselben geändert wird.

Ich erfuhr auch, dass der BlueZ-Stack ab Android 4.2 durch den Bluedroid-Stack von Broadcom ersetzt wurde. Ich habe viel über Bluedroid Stack gesucht. Ich konnte jedoch nicht viel darüber erfahren.

Hoffe, jemand kann mir bei folgenden Zwecken helfen.

1). Ob Bluedroid A2DP-Senke unterstützt?

2). Ob die Datei audio.conf für Geräte mit bluedroid Stack verfügbar ist?

3). Ich werde eine A2DP-Senken-Unterstützung für ein Android-Gerät schreiben, indem ich APIs des BlueZ-Stacks direkt aufrufe. Aber meine letzte Frage ist, ob das gleiche auch mit Bluedroid Stack verwendet werden kann? Hope Bluedroid ist nur eine Erweiterung von BlueZ.

Bitte helfen.

17
Nidhin Joseph

Bluedroid ist ein Stack, der von Broadcom bereitgestellt wird, und ist nun OpenSource in Android. Bluedroid ist in keiner Hinsicht mit bluez verwandt, es hat wenige Vorteile gegenüber bluez (ich unterscheide mich davon). 

[1]. Bluedroid hat derzeit keine Unterstützung für die Unterstützung von 2dp-Senken, da je nach verfügbarem Code source code nur die Unterstützung für a2dp-Quellen verfügbar ist

[2]. Die Audio.conf-Datei ist für bluez stack, sie ist kein Bestandteil von bluedroid

[3]. Bluez-API direkt aufrufen - ich denke, Sie werden dbus-Aufrufe verwenden, aber bluedroid unterstützt keine dbus-Methodenaufrufe. Es wurde ein Callback-Mechanismus implementiert, sodass es nicht funktioniert.

13
ashish

Die A2DP-Sink-Rolle wird jetzt in Android Lollipop (5.0) unterstützt. Sie haben den Bluedroid-Quellcode so geändert, dass er denselben unterstützt. Um dies vollständig zu unterstützen, müssen Sie die Audio-HAL (audio.h), AudioPolicyManagerBase.cpp und audio_policy.conf sowie den Audio-Manager, A2DPStateMachine usw. ändern.

3
theangrylama

Wie der Benutzer987500 sagte, A2DP-Senke wird in Android L unterstützt. Nehmen Sie nur geringfügige Änderungen vor. Ihr Gerät kann von A2DP-Quelle zu Senke wechseln .. __ Stellen Sie jedoch sicher, dass nur eine Rolle für ein Gerät unterstützt wird, das aus einer XML-Datei konfiguriert werden kann .

2
Boatman_Yang

Zu den obigen Antworten kommt hinzu, dass seit Android L die Sink-Unterstützung eingeführt wird, jedoch der Audiostreaming-Teil des Codes nicht abgeschlossen ist. Ich habe jedoch this change list gefunden, wo die Implementierung der a2dp-Senke abgeschlossen ist und die Medien über das Sink-Gerät abgespielt werden können, wie in der Festschreibenachricht der Änderungsliste erwähnt:

Bluetooth A2DP-Senke

Die Änderung implementiert die A2DP-Senkenfunktion. Wenn das Android-Gerät .__ ist. Eine Senkenrolle kann Musik vom Telefon über BT empfangen. Diese Funktion kann Anwendung in Multimedia-Car-Kit, Set-Top-Box und Familien-HiFi. Einstellen BLUETOOTH_A2DP_SINK: = true in BoardConfig.mk zum Aktivieren von A2DP Sink featue in bluedroid.

Sie benötigen auch die folgenden Änderungen im Rahmen, um Musik zu .__ zu leiten. Redner. 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/

Diese Änderung beinhaltet keinen SBC-Decoder. Sie können einen SBC-Decoder erhalten von github.com/tieto/sbc-decoder.

Alles Gute!!!

0
aksonlyaks