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