今天,简单讲讲android里如何获取一个视频文件的第一帧作为缩略图显示在界面上。
之前,我说个最近需要从服务器下载视频文件,但是下载后肯定需要显示视频的缩略图在界面上给用户看,于是想到显示视频的第一帧作为缩略图。但是我不知道具体怎么写,于是在网上查找资料,最终是解决了问题。这里记录一下。
一.使用MediaMetadataRetriever获取视频的第一帧作为缩略图
/**
* 获取视频文件截图
*
* @param path 视频文件的路径
* @return Bitmap 返回获取的Bitmap
*/
public static Bitmap getVideoThumb(String path) {
MediaMetadataRetriever media = new MediaMetadataRetriever();
media.setDataSource(path);
return media.getFrameAtTime();
}
这里需要注意一点,从API 10开始新增一类MediaMetadataRetriever可以用来获取媒体文件的信息,可以获取视频任何一帧的缩略图。所以使用MediaMetadataRetriever的API最小为10.
这里还列举一下MediaMetadataRetriever获取视频的其他几个函数:
//获取第一帧原尺寸图片
mmrc.getFrameAtTime();
//获取指定位置的原尺寸图片 注意这里传的timeUs是微秒
mmrc.getFrameAtTime(timeUs,option);
//获取指定位置指定宽高的缩略图