我很难理解如何在我的项目中实施AVRCP。我已经搜索了很多并阅读了许多数据表,但是我似乎仍然缺少一些东西。
这是我想做的:
简而言之,只要蓝牙模块支持A2DP,我希望能够通过蓝牙与我的android 4.3设备连接以通过A2DP流式传输音乐(这看起来很简单)。另外,我希望能够控制媒体播放器应用程序(Pandora等)。现在,我知道AVRCP 1.0仅支持基本控制命令(暂停,播放,下一个,上一个,FF,RW),并且我发现许多蓝牙模块在线支持通过简单的UART AT命令发送这些命令或通过SPI总线发送命令。 。但是,我也希望能够从android设备(仅具有AVRCP 1.3+功能)获取元数据,例如曲目名称,专辑名称,艺术家名称,曲目长度和经过时间。
现在,据我了解,要获取元数据,我需要一个支持AVRCP 1.3或更高版本的蓝牙模块。我不明白的是如何请求元数据!根据我的阅读,将发送元数据(例如曲目名称,艺术家,专辑和曲目长度)以响应曲目更改命令。有人可以确认吗?如果我需要请求经过时间怎么办?
理想情况下,我正在寻找一种支持A2DP(24位,如果可用)和具有UART或SPI或I2C接口的AVRCP 1.3或更高版本的蓝牙模块,可以在其中发送播放,暂停,下一个,上一个命令来控制音乐播放器和请求艺术家,专辑,曲目名称,经过时间,曲目长度元数据。
这是我发现的唯一在数据表中提到元数据的单元:
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Wireless/Bluetooth/Melody_5.0_Manual-RevD-RC10-Release.pdf(第16页)
但是我仍然不清楚这是如何工作的!
这里的任何帮助将是巨大的!
最佳答案
首先,您应该看一下此文档:
https://developer.bluetooth.org/TechnologyOverview/Documents/AVRCP_SPEC.pdf
要从源获取元数据,必须使用以下命令:
GetElementAttributes()
要了解如何使用该功能以及要设置哪些参数,请转到数据表中的第53页。使用该功能,您可以访问以下属性:标题,艺术家姓名,专辑名称,曲目编号,曲目总数,类型,播放时间。源将使用所需的属性进行响应。有关具有特定ID的所有属性的列表,请参阅第132页的附录E。
对不起我的英语不好 :)
关于android - 蓝牙A2DP + AVRCP 1.3+模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21653735/