2

我很难理解如何在我的项目中实施 AVRCP。我已经搜索了很多并阅读了许多数据表,但我似乎仍然缺少一些东西......

这是我想做的事情:

简而言之,只要蓝牙模块支持 A2DP,我希望能够通过蓝牙连接我的 android 4.3 设备以通过 A2DP 流式传输音乐(这看起来很简单)。此外,我希望能够控制媒体播放器应用程序(Pandora 等)。现在,我知道 AVRCP 1.0 只支持基本的控制命令(暂停、播放、下一个、上一个、FF、RW),我在网上找到了许多支持通过简单的 UART AT 命令或通过 SPI 总线发送这些命令的蓝牙模块. 但是,我还希望能够从 android 设备获取元数据(这是 AVRCP 1.3+ 唯一的功能),例如曲目名称、专辑名称、艺术家姓名、曲目长度和经过的时间。

现在,据我了解,要获取元数据,我需要一个支持 AVRCP 1.3 或更高版本的蓝牙模块。我无法理解的是如何请求元数据!根据我的阅读,元数据,如曲目名称、艺术家、专辑和曲目长度,是为了响应曲目更改命令而发送的。谁能证实这一点?如果我需要请求经过的时间怎么办?

理想情况下,我正在寻找一个支持 A2DP(24 位,如果可用)和 AVRCP 1.3 或更高版本的蓝牙模块,带有 UART 或 SPI 或 I2C 接口,我可以发送它播放、暂停、下一个、上一个命令来控制音乐播放器和请求艺术家、专辑、曲目名称、经过时间、曲目长度元数据。

这是我发现的唯一一个在数据表中提到元数据的单元: http ://dlnmh9ip6v2uc.cloudfront.net/datasheets/Wireless/Bluetooth/Melody_5.0_Manual-RevD-RC10-Release.pdf (pg.16)

但我仍然不清楚这是如何工作的!

这里的任何帮助都会很棒!

4

2 回答 2

1

首先,你应该看看这个文档: https ://developer.bluetooth.org/TechnologyOverview/Documents/AVRCP_SPEC.pdf

要从源中获取元数据,您必须使用以下命令:GetElementAttributes()

要了解如何使用该功能以及要设置哪些参数,请转到数据表中的第 53 页。通过该功能,您可以访问以下属性:标题、艺术家姓名、专辑名称、曲目编号、曲目总数、流派、播放时间。源将响应所需的属性。有关所有属性及其特定 ID 的列表,请参阅第 132 页的附录 E。

于 2014-03-28T21:00:00.947 回答
1

您可能想查看 BlueGiga WT-32i 芯片: https ://www.bluegiga.com/en-US/products/bluetooth-classic-modules/wt32-bluetooth--audio-module/

它支持 AVRCP 1.5,并且在其手册 ( http://www.microtechnica.tv/support/manual/iWRAP5_User_Guide.pdf ) 的第 6.8 节中,它似乎具有检索轨道元数据的命令。

于 2014-10-15T06:47:20.537 回答