package com.youth.xf.utils; import android.annotation.TargetApi; import android.graphics.Bitmap; import android.media.MediaMetadataRetriever; import android.media.ThumbnailUtils; import android.os.Build; import android.provider.MediaStore; import java.util.HashMap; public class VideoUtils { /** * 获取视频缩略图,放在线程中执行,比较耗时 * @param url 网络连接 * @param width 图片宽度 * @param height 突破高度 * @return */ @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) public static Bitmap createVideoThumbnail(String url, int width, int height) { Bitmap bitmap = null; MediaMetadataRetriever retriever = new MediaMetadataRetriever(); int kind = MediaStore.Video.Thumbnails.MINI_KIND; try { if (Build.VERSION.SDK_INT >= 14) { retriever.setDataSource(url, new HashMap<String, String>()); } else { retriever.setDataSource(url); } bitmap = retriever.getFrameAtTime(); } catch (IllegalArgumentException ex) { } catch (RuntimeException ex) { } finally { try { retriever.release(); } catch (RuntimeException ex) { } } if (kind == MediaStore.Images.Thumbnails.MICRO_KIND && bitmap != null) { bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height, ThumbnailUtils.OPTIONS_RECYCLE_INPUT); } return bitmap; } }