我很难理解如何在我的项目中实现AVRCP。我已经搜索了相当多,阅读了很多数据表,但我似乎仍然遗漏了一些东西……
这是我想要做的:
简而言之,只要蓝牙模块支持A2DP,我就希望能够通过蓝牙与我的Android4.3设备连接,通过A2DP播放音乐(这看起来非常简单)。此外,我希望能够控制媒体播放器应用程序(Pandora等)。现在,我知道AVRCP 1.0只支持基本控制命令(pause、play、next、prev、FF、RW),并且我在网上发现了许多蓝牙模块,它们支持通过简单的UART AT命令或通过SPI总线发送这些命令。然而,我也希望能够从安卓设备上获取元数据(这是一项仅限AVRCP 1.3+的功能),例如曲目名称、专辑名称、艺术家名称、曲目长度和运行时间。
现在,据我所知,要获取元数据,我需要一个支持AVRCP 1.3或更高版本的蓝牙模块。我不能理解的是一个人是如何请求元数据的!根据我所读到的,元数据,例如曲目名称、艺术家、空白和曲目长度,都是响应曲目更改命令而发送的。有人能证实这一点吗?如果我需要请求经过的时间怎么办?
理想情况下,我正在寻找一个蓝牙模块,支持A2DP (24位如果可用)和AVRCP1.3或更高的通用异步收发器或SPI或I2C接口,在那里我可以发送它播放,暂停,下一步,前一个命令来控制音乐播放器,并要求艺术家,专辑,曲目名称,经过的时间,曲目长度元数据。
这是我发现的唯一一个在数据表中提到元数据的单元:http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Wireless/Bluetooth/Melody_5.0_Manual-RevD-RC10-Release.pdf (第16页)
但我仍然不清楚这是如何工作的!
这里的任何帮助都是很棒的!
发布于 2014-03-29 05:00:01
首先,您应该看一下这个文档:https://developer.bluetooth.org/TechnologyOverview/Documents/AVRCP_SPEC.pdf
要从源获取元数据,必须使用以下命令: GetElementAttributes()
要了解如何使用该功能以及要设置哪些参数,请转到数据表中的第53页。点击该功能,您可以访问以下属性:标题,艺术家姓名,专辑名称,曲目编号,曲目总数,流派,播放时间。源将使用所需的属性进行响应。有关具有特定ids的所有属性的列表,请参见第132页的附录E。
发布于 2014-10-15 14:47:21
你可能想看看BlueGiga WT-32i芯片:https://www.bluegiga.com/en-US/products/bluetooth-classic-modules/wt32-bluetooth--audio-module/
它支持AVRCP1.5,在他们的手册(http://www.microtechnica.tv/support/manual/iWRAP5_User_Guide.pdf)的第6.8节中,它似乎有检索曲目元数据的命令。
https://stackoverflow.com/questions/21653735
复制相似问题