- MediaMetadataRetriever 读取多媒体元数据 —获取视频时长
音乐播放器通常需要获取歌曲的专辑、作者、标题、年代等信息,将这些信息显示到UI界面上,Android 提供统一的接口 MediaMetadataRetriever 解析媒体文件。
http://www.android-doc.com/reference/android/media/MediaMetadataRetriever.html
String absolutePath = "/sdcard/sample.mp3";
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(absolutePath);
String title = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
String album = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);
String mime = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_MIMETYPE);
String artist = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST);
String duration = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION); // ms
String bitrate = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); // bit/s api >= 14
String date = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DATE);
获取视频文件的时长 --> ms转时间格式
private static String getVideoDuration(String file){
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(file);
String timeString = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
SimpleDateFormat dateFormat = new SimpleDateFormat(“HH:mm:ss”, Locale.CHINA);
dateFormat.setTimeZone(TimeZone.getTimeZone(“GMT+00:00”));
return dateFormat.format(new Date(Long.parseLong(timeString)));
}
其他获取视频中信息的用法
https://www.cnblogs.com/guanxinjing/p/11057994.html