在Android中,我们有时候需要给视频文件添加一个缩略图。
据说ImageLoader和Glide等框架能实现这个功能,但是我尝试了下都没有成功。 有使用成功的请指导我下 XD
那么我们何必要借助这些框架,自己去获取视频文件的第一帧作为缩略图使用呢?
在查阅资料后发现Android2.2后有工具类ThumbnailUtils,使用该工具类即可帮助我们轻松加载略缩图。
以下是我实际中使用的代码:
//TODO:维护线程池将图片的获取和缩放放在子线程中 //通过ThumbnailUtils获取视频的第一帧。 //第一个参数为我视频列表中最新一个视频的绝对路径 //第二个分辨率设置,可用MINI_KIND或MICRO_KIND Bitmap tempBitmap = ThumbnailUtils.createVideoThumbnail(fileList.get(fileList.size() - 1).getAbsoluteFile().toString() , MediaStore.Images.Thumbnails.MINI_KIND); //px转dip工具类 int widthPx = ScreenUtil.px2dip(80); int heightPx = ScreenUtil.px2dip(60); //将获取的bitmap进行压缩。第四个参数为回收资源。也有无第四个参数的方法 Bitmap previewBitmap = ThumbnailUtils.extractThumbnail(tempBitmap, widthPx, heightPx, ThumbnailUtils.OPTIONS_RECYCLE_INPUT); imageView.setImageBitmap(previewBitmap);
亲测无误,希望能帮助到新接触视频处理的朋友们。