安卓截取视频第一帧的方法

视频app大多是需要有一张相关视频的图片做封面展示的。下面是可以直接从视频的url取到视频的第一帧图片的方法:

Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(context,url  //url的参数
        , MediaStore.Video.Thumbnails.MINI_KIND);

这样取到的是一个bitmap的对象,可以直接将图片的view对象设置进去。

不过这个方法只适用于放在单页中,如果是做list的话是很卡的,原因是bitmap在取到图片后市需要占用很大内存的,有人说那一个页面只有一两张图片也卡啊,那是因为在截取视频图片时候需要解析视频,这一步很耗内存的,下面给出的代码是很容易解决使用list展示图片内存消耗的问题的:

在activity中:

mVideoFrameImageLoader = new VideoFrameImageLoader(getActivity(), listView,list);   //第三个参数为你的视频地址,走完这里后边跟上setAdapter就ok

在apapter的getview中:

if(convertView==null){
    if (!LibsChecker.checkVitamioLibs(context))
        return null;
    convertView= LayoutInflater.from(context).inflate(R.layout.video_item,null);
    //初始化显示数据
    mVideoFrameImageLoader.initList();
    viewHolder=new ViewHolder(convertView);
    convertView.setTag(viewHolder);
}else {
    viewHolder= (ViewHolder) convertView.getTag();
}
Bitmap bitmap=mVideoFrameImageLoader.showCacheBitmap(VideoFrameImageLoader.formatVideoUrl(mImageUrl));//里面的参数是视频地址
viewHolder.pic.setImageBitmap(bitmap);
就这几行代码就搞定了,其中的两个类给给大家下载的地址(完整的代码,直接复制就能用)。

下载地址:http://download.csdn.net/detail/qq_34698126/9659787



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值