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

本文介绍如何从MP3文件中提取封面图片,封面信息存储在ID3标签中,通过解析ID3tag并使用SQLite查询数据库,可以获取封面的绝对路径。文章提供从MP3文件中直接读取并显示图片的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值