以esp32 或者esp8266 作为蓝牙音乐接收端是可以获取到歌词的。
走了不少弯路,这方面还是资料有缺失,其实这是很简单的事情。
其他btaudio 这个库其实也行,只要是满足蓝牙a2dp这个协议就可以。
获取歌词的关键是
void avrc_metadata_callback(uint8_t data1, const uint8_t *data2)
{
// Serial.printf("AVRC metadata rsp: attribute id 0x%x, %s\n", data1, data2);
String strData2=getStringFromChars(data2,sizeof(data2));
String strData2 = (const char *)data2;
if (data1 == 2)
{
Serial.printf("歌名:%s", data2);
}
if (data1 == 4)
{
Serial.printf("歌手:%s", data2);
}
if (data1 == 1)
{
Seri

文章讲述了如何使用ESP32或ESP8266作为蓝牙音乐接收端获取歌词,重点在于A2DP库和AVRCMetadata回调函数的使用。通过设置元数据属性和回调,可以接收到歌曲名、艺术家等信息。问题在于一些播放器未开启歌词传递设置,导致无法获取。解决方案涉及到单片机的软字库和屏幕显示技术。
最低0.47元/天 解锁文章
1540

被折叠的 条评论
为什么被折叠?



