0

我正在处理蓝牙任务。据我所知,bluedroid 不支持 a2dp sink 功能。但是 bluez 支持 sink 功能。所以我在 Android 4.4 中用 bluez 替换了 bluedroid,我看到它可以作为一个源。(参见 aosp-bluez)但我不知道如何让它作为接收器工作。

Q1) 有什么方法可以通过haltest、btmgmt等工具在HAL层测试或使用a2dp sink?或者请告诉我如何让 bluez 用作水槽。

Q2) 在我看来,bluez (ver 5.14) 本身支持 a2dp sink,但似乎 AOSP 不支持 a2dp sink。因此,要制作一个使用a2dp sink的app,需要制作java、jni apis。我对吗?

4

3 回答 3

0

在发布时,您是正确的,AOSP 不支持 A2DP Sink。这已不再是这种情况。Bluedroid 现在完全支持 A2DP 接收器。但是,似乎在堆栈的默认编译时未启用它。一旦你启用它,为了让 AudioFlinger 将 A2DP 流输出到扬声器,还需要做额外的工作。我还没有做到这一点。我知道音频正在通过蓝牙传输,因为我可以从 Bluedroid 捕获的 btsnoop 文件中提取音频。

于 2015-02-04T15:40:03.030 回答
0

是的 bluez 支持 a2dp sink 角色,这里也许你需要更改/更新 pulseaudio,因为它为 a2dp sink/source 添加了寄存器。您可以通过键入 sdptool browse local 进行验证,然后您需要 sdp 记录以获取 a2dp 接收器角色支持,如果不存在则更新 pulseaudio

于 2015-01-12T04:10:30.140 回答
0

正如大家回答的那样,AOSP 默认代码不支持 A2DP 接收器配置文件。不过三星 Galaxy S7 及以上系列手机确实支持 sink 角色。但是现在手机的接收器功能似乎受到限制。Galaxy S7及以上系列手机目前只能通过快连APP与Tizen智能电视连接。

于 2016-10-13T13:20:40.280 回答