17

BlueZ have a lot of documentations and all. And from the same, i understood BlueZ supports A2DP sink support. And at the same time an android device can be made act as an A2DP sink by modifying the audio.conf file inside the same.

I also came to know that from android 4.2 onwards, the BlueZ stack was replaced by Broadcom's Bluedroid stack. I searched a lot about Bluedroid stack. But i was not able to find much details about the same.

Hope someone can help me with the following doubts.

1). Whether Bluedroid have A2DP sink support?

2). Whether the audio.conf file will be available for devices having bluedroid stack?

3). I am going to write an A2DP sink support for an android device by directly calling API's of BlueZ stack. But my final question is whether the same can be used with Bluedroid stack also? Hope Bluedroid is just an expansion of BlueZ.

Please help.

4

4 回答 4

14

Bluedroid 是 Broadcom 提供的堆栈,现已在 android 中开源。Bluedroid 在任何方面都与 bluez 无关,它与 bluez 相比几乎没有优势(我与此不同)。

[1]。Bluedroid 目前没有 a2dp 接收器支持,根据可用的代码源代码,只有 a2dp 源支持可用

[2]。Audio.conf 文件用于 bluez 堆栈,它不是 bluedroid 的一部分

[3]。直接调用 Bluez API——我想你会使用 dbus 调用,但 bluedroid 不支持 dbus 方法调用,它实现了回调机制,所以它不起作用,bluedroid 不是 bluez 的扩展。

于 2013-12-06T06:16:46.503 回答
3

Android Lollipop (5.0) 现在支持 A2DP 接收器角色。他们修改了 Bluedroid 源代码以支持相同的功能。要完全支持它,您需要修改音频 HAL (audio.h)、AudioPolicyManagerBase.cpp 和 audio_policy.conf 以及 Audio Manager、A2DPStateMachine 等。

于 2014-11-30T16:33:19.807 回答
2

正如 user987500 所说,android L 支持 A2DP sink,只需稍作修改,您的设备就可以从 A2DP src 更改为 sink。但要确保一台设备只能支持一个角色,可以通过xml文件进行配置。

于 2015-08-05T07:23:43.593 回答
0

除了上述答案之外,自 Android L 以来,引入了接收器支持,但仍未完成代码的音频流部分。但是,我发现更改列表已完成 a2dp 接收器实现,并且可以通过接收器设备播放媒体,如更改列表的提交消息中所述:

蓝牙 A2DP 接收器

此更改实现了 A2DP 接收器功能。如果 android 设备是 sink 角色,它可以通过 BT 接收来自手机的音乐。此功能可应用于多媒体车载套件、机顶盒和家庭 HiFi。在 BoardConfig.mk 中设置 BLUETOOTH_A2DP_SINK := true 以在 bluedroid 中启用 A2DP Sink 功能。

您还需要在框架中进行以下更改以将音乐路由到扬声器。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 解码器。

一切顺利!!!

于 2016-10-21T12:00:39.380 回答