一、通过本地url获取视频缩略图
/**
* 通过本地url获取视频缩略图
*
* @param url 文件路径
* @param width 显示的宽度
* @param height 显示的高度
* @return Bitmap 缩略图
*/
public static Bitmap getBitmapFormLocalUrl(final String url, final int width, final int height) {
Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(url, MediaStore.Video.Thumbnails.FULL_SCREEN_KIND); //还可以选择MINI_KIND和MICRO_KIND
if (bitmap != null) {
bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height, ThumbnailUtils.OPTIONS_RECYCLE_INPUT); //根据源图片指定宽高生成新的图片
}
return bitmap;
}
二、通过网络url获取视频缩略图
/**
* 通过网络url获取视频缩略图
*
* @param url 文件路径
* @return Bitmap 缩略图
*/
public static Bitmap getBitmapFormNetUrl(String url) {
Bitmap bitmap = null;
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
try {
if (Build.VERSION.SDK_INT >= 14) {
retriever.setDataSource(url, new HashMap<String, String>());
} else {
retriever.setDataSource(url);
}
bitmap = retriever.getFrameAtTime();
} catch (RuntimeException ex) {
// Assume this is a corrupt video file.
} finally {
try {
retriever.release();
} catch (RuntimeException ex) {
// Ignore failures while cleaning up.
}
}
return bitmap;
}