当前位置: 代码迷 >> Android >> android媒体库的有关问题
  详细解决方案

android媒体库的有关问题

热度:73   发布时间:2016-05-01 21:44:26.0
android媒体库的问题
小弟最近做一个音乐播放器时碰到一个类: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取
------解决方案--------------------
源码是个好东西啊。研究下就知道是干什么用的了
  相关解决方案