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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 获取设备信息是一种常见的操作,通过获取设备信息,开发者可以了解到设备的各种属性,并根据这些信息进行相应的处理。 在 Android 平台上,获取设备信息可以通过调用系统提供的 API 实现。以下是一个获取设备信息的简单示例代码: ``` import android.os.Build; public class DeviceInfoDemo { public static void main(String[] args) { String deviceModel = Build.MODEL; // 获取设备型号 String deviceManufacturer = Build.MANUFACTURER; // 获取设备制造商 String deviceBrand = Build.BRAND; // 获取设备品牌 String deviceType = Build.TYPE; // 获取设备类型 String deviceOSVersion = Build.VERSION.RELEASE; // 获取操作系统版本号 System.out.println("设备型号:" + deviceModel); System.out.println("设备制造商:" + deviceManufacturer); System.out.println("设备品牌:" + deviceBrand); System.out.println("设备类型:" + deviceType); System.out.println("操作系统版本号:" + deviceOSVersion); } } ``` 以上代码使用了`Build`类提供的一些常用属性来获取设备信息,并将其打印输出。开发者可以根据实际需求获取更多的设备信息,例如 MAC 地址、IMEI 号等。 需要注意的是,为了使用`Build`类的属性,需要在项目的`AndroidManifest.xml`文件添加相应的权限声明。例如获取设备的 IMEI 号需要`android.permission.READ_PHONE_STATE`权限。 通过上述示例代码,开发者可以轻松获取 Android 设备的各种信息,这些信息对于开发、统计、调试等方面非常有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值