Android设备获取mp3中的专辑封面信息

Mp3文件中包含图片信息。如下图:

 MP3文件的专辑封面数据是编码在MP3文件中的ID3中,需要在解析ID3 tag的时候将这段压缩的数据从MP3文件中copy出来,写到某个文件中去。具体流程可以参考:https://blog.csdn.net/u011703477/article/details/52246138

当封面文件被写到手机中时,是存储到某个文件夹下面的,我们可以通过数据库查询到。

通过以下adb命令即可获取相关的数据库文件。

adb root


adb remount


adb pull /data/data/com.android.providers.media/databases .

 通过SQLiteSpy软件打开数据库文件如下:

所有的MP3会扫描到mediaprovider数据库中的Audio表中,这个表有一个域是album_id,这个值对应数据库中的另一张表album_info的主键

 

 在album_info表中,album_art字段的值就是该专辑图片在手机长存储的绝对路径。

在album_info表中记录了每一个封面文件的绝对路径,所以任何一首MP3歌曲可以通过album_id值找到对应的封面文件,取出解码生成一个bitmap就可以用来显示了。

 

导出文件,分析以下文件内容。

通过UtralEdit软件打开文件。

可以看出 FF D8 开头的字节,属于JPEG类型图片,将文件后缀名改为 .jpeg ,可以直接打开显示。

(实验证明改成 .png   .bmp  都可以正常显示,我也不知道为啥子。。。。可能是使用的看图软件直接解析文件内容了。没事,这不是重点。) 

想要直接从Mp3中获取图片信息并显示的话,可以参考:https://blog.csdn.net/chenhy24/article/details/84202737

展开阅读全文

没有更多推荐了,返回首页