1、获取视频缩略图有两个方法(1)通过内容提供器来获取(2)人为创建缩略图
(1)缺点就是必须更新媒体库才能看到最新的视频的缩略图
/** * @param context * @param cr * @param Videopath * @return */ public static Bitmap getVideoThumbnail(Context context, ContentResolver cr, String Videopath) { ContentResolver testcr = context.getContentResolver(); String[] projection = { MediaStore.Video.Media.DATA, MediaStore.Video.Media._ID, }; String whereClause = MediaStore.Video.Media.DATA + " = '" + Videopath + "'"; Cursor cursor = testcr.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection, whereClause, null, null); int _id = 0; String videoPath = ""; if (cursor == null || cursor.getCount() == 0) { return null; } if (cursor.moveToFirst()) { int _idColumn = cursor.getColumnIndex(MediaStore.Video.Media._ID); int _dataColumn = cursor.getColumnIndex(MediaStore.Video.Media.DATA); do { _id = cursor.getInt(_idColumn); videoPath = cursor.getString(_dataColumn); } while (cursor.moveToNext()); } cursor.close(); BitmapFactory.Options options = new BitmapFactory.Options(); options.inDither = false; options.inPreferredConfig = Bitmap.Config.RGB_565; Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr, _id, Images.Thumbnails.MINI_KIND, options); return bitmap; }
(2)人为创建缩略图要耗费一点时间
/** * 获取视频缩略图 * @param videoPath * @param width * @param height * @param kind * @return */ private Bitmap getVideoThumbnail(String videoPath, int width , int height, int kind){ Bitmap bitmap = null; bitmap = ThumbnailUtils.createVideoThumbnail(videoPath, kind); bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height, ThumbnailUtils.OPTIONS_RECYCLE_INPUT); return bitmap; }
2、图片缩略图
/** * * @param context * @param cr * @param Imagepath * @return */ public static Bitmap getImageThumbnail(Context context, ContentResolver cr, String Imagepath) { ContentResolver testcr = context.getContentResolver(); String[] projection = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID, }; String whereClause = MediaStore.Images.Media.DATA + " = '" + Imagepath + "'"; Cursor cursor = testcr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, whereClause, null, null); int _id = 0; String imagePath = ""; if (cursor == null || cursor.getCount() == 0) { return null; } if (cursor.moveToFirst()) { int _idColumn = cursor.getColumnIndex(MediaStore.Images.Media._ID); int _dataColumn = cursor.getColumnIndex(MediaStore.Images.Media.DATA); do { _id = cursor.getInt(_idColumn); imagePath = cursor.getString(_dataColumn); } while (cursor.moveToNext()); } cursor.close(); BitmapFactory.Options options = new BitmapFactory.Options(); options.inDither = false; options.inPreferredConfig = Bitmap.Config.RGB_565; Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(cr, _id, Images.Thumbnails.MINI_KIND, options); return bitmap; }
作者:jwzhangjie 发表于2013-5-15 10:55:16 原文链接
阅读:0 评论:0 查看评论