[android] 如何获取media文件的meta data信息

本文介绍了在Android应用开发中如何获取media文件的元数据信息,包括使用MediaStore通过SQLite查询,MediaMetadataRetriever获取MediaStore无法提供的详细元数据,以及ExifInterface用于处理图片文件的Exif标签,如GPS和相机信息。
摘要由CSDN通过智能技术生成

在app开发过程中,经常需要显示media文件的meta data信息,我们如何获取这些信息呢?


MediaStore

首先想到的就是MediaStore类了,它为我们提供的丰富的属性,我们只要通过sqlite操作,就能获取这些属性提供的值啦。

public static final String[] ItemImageProjection = new String[] {
		MediaStore.Images.ImageColumns.DISPLAY_NAME,
		MediaStore.Images.ImageColumns.DATA,
		MediaStore.Images.ImageColumns.SIZE,
		MediaStore.Images.ImageColumns._ID,
		MediaStore.Images.ImageColumns.MIME_TYPE
	};
	
	public static final String[] ItemVideoProjection = new String[] {
		MediaStore.Video.VideoColumns.DISPLAY_NAME,
		MediaStore.Video.VideoColumns.DATA,
		MediaStore.Video.VideoColumns.SIZE,
		MediaStore.Video.VideoColumns._ID,
		MediaStore.Video.VideoColumns.MIME_TYPE
	};
	
	public static final String[] ItemAudioProjection = new String[] {
		MediaStore.Audio.AudioColumns.DISPLAY_NAME,
		MediaStore.Audio.AudioColumns.DATA,
		MediaStore.Audio.AudioColumns.SIZE,
		MediaStore.Audio.AudioColumns._ID,
		MediaStore.Audio.AudioColumns.MIME_TYPE
	};

不知道如何查询系统数据库数据?查查ContentResolver怎么使用吧微笑
不过有时候,这些属性还不能满足我们的需求,这时候就需要一些其他类来帮助了。那么,来看看其他类吧


MediaMetadataRetriever 类

SDK官方说明:MediaMetadataRetriever class provides a unified interface for retrieving frame and meta data from an input media file.


简单来说,我们可以重MediaMetadataRetriever类中获取meta data信息,关键是这些meta data信息是MediaStore类提供不了的,看看这个类能为我们提供哪些属性,写一个小demon测试下


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值