用系统方法ThumbnailUtils获取视频缩略图

在用Glide加载本地视频列表的视频封面的时候
Glide可以加载
本地
第一帧
作为图片

Glide.with(getContext())
                .load(Uri.fromFile(new File(videoBean.path)))
                .into(iv);
但是 发生了oom  

优化

   if (videoBean.path.endsWith(".mpg")) {
            Async.execute(() -> {
                final Bitmap thumbnail = ThumbnailUtils.createVideoThumbnail(videoBean.path, MediaStore.Images.Thumbnails.MINI_KIND);
                if (thumbnail != null) {
                    UI.post(() -> {
                        iv.setImageBitmap(thumbnail);
                        thumbnail.recycle();   //记得回收,别造成内存泄漏
                    });
                }
            });
        }

tips:mpg代表视频文件
MPEG是运动图像压缩算法的国际标准,现已被几乎所有的计算机平台支持。它包括MPEG-1,MPEG-2和MPEG-4。MPEG-1被广泛地应用在VCD(video compact disk)的制作,绝大多数的VCD采用MPEG-1格式压缩。MPEG-2应用在DVD(Digital Video/Versatile Disk)的制作方面、HDTV(高清晰电视广播)和一些高要求的视频编辑、处理方面。MPEG-4是一种新的压缩算法,使用这种算法的ASF格式可以把一部120 min长的电影压缩到300 M左右的视频流,可供在网上观

ThumbnailUtils获取缩略图,提供的三个静态方法:
1.createVideoThumbnail(String filePath, int kind):
filepath:视频文件路径;
kind表示类型,可以有两个选项,分别是Images.Thumbnails.MICRO_KIND(微型)和Images.Thumbnails.MINI_KIND(迷你型),前者的分辨率更低
其中,MINI_KIND: 512 x 384,MICRO_KIND: 96 x 96,当然也可以传入任意的int型数字,只是就不会对获取的bitmap进行相关的设置,
我们可以自己使用extractThumbnail( Bitmap source, int width, int height)方法对返回的bitmap进行相关设置。
2.extractThumbnail(Bitmap source, int width, int height, int options):用来创建一个指定大小的缩略图
直接对Bitmap进行缩略操作,最后一个参数定义为OPTIONS_RECYCLE_INPUT ,来回收资源
source表示图片源文件(Bitmap类型)
width表示指定压缩成后的宽度
height表示指定压缩成后的高度
3. extractThumbnail(Bitmap source, int width, int height) // 这个和上面的方法一样,无options选项
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

葫芦娃你好我是皮卡丘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值