小弟最近做一个音乐播放器时碰到一个类:MediaMetadataRetriever,不知道这个类具体是做什么用的,好像是可以得到多媒体文件的艺术家,标题等信息,但是这些信息可以通过contentProvider得到,请问两者区别是什么?
------解决方案--------------------
MediaMetadataRetriever是所有多媒体信息相关的,这只是音乐,还有图片和视频
有些信息是数据库没有的,比如视频缩略图,列出一些表示信息的字段:
- Java code
public static final int METADATA_KEY_CD_TRACK_NUMBER = 0; public static final int METADATA_KEY_ALBUM = 1; public static final int METADATA_KEY_ARTIST = 2; public static final int METADATA_KEY_AUTHOR = 3; public static final int METADATA_KEY_COMPOSER = 4; public static final int METADATA_KEY_DATE = 5; public static final int METADATA_KEY_GENRE = 6; public static final int METADATA_KEY_TITLE = 7; public static final int METADATA_KEY_YEAR = 8; public static final int METADATA_KEY_DURATION = 9; public static final int METADATA_KEY_NUM_TRACKS = 10; public static final int METADATA_KEY_IS_DRM_CRIPPLED = 11; public static final int METADATA_KEY_CODEC = 12; public static final int METADATA_KEY_RATING = 13; public static final int METADATA_KEY_COMMENT = 14; public static final int METADATA_KEY_COPYRIGHT = 15; public static final int METADATA_KEY_BIT_RATE = 16; public static final int METADATA_KEY_FRAME_RATE = 17; public static final int METADATA_KEY_VIDEO_FORMAT = 18; public static final int METADATA_KEY_VIDEO_HEIGHT = 19; public static final int METADATA_KEY_VIDEO_WIDTH = 20;
------解决方案--------------------
你看文档上的描述:
MediaMetadataRetriever类提供了统一的接口用于从多媒体文件提取帧和元数据
------解决方案--------------------
MediaMetadataRetriever是从媒体文件里得到这些metadata,这些数据写到db里后,再用contentprovider取
------解决方案--------------------
源码是个好东西啊。研究下就知道是干什么用的了