获取视频缩略图

publicstaticArrayList<PFile>batchBuildThumbnail(finalContextctx,finalArrayList<File>files){
ArrayList<PFile>result=newArrayList<PFile>();

for(Filef:files){
PFilepf=newPFile();
try{
if(f.exists()&&f.canRead()){
//取出视频的一帧图像
Bitmapbitmap=ThumbnailUtils.createVideoThumbnail(ctx,f.getAbsolutePath(),Video.Thumbnails.MINI_KIND);
if(bitmap==null){
//缩略图创建失败
bitmap=Bitmap.createBitmap(ThumbnailUtils.TARGET_SIZE_MINI_THUMBNAIL_WIDTH,ThumbnailUtils.TARGET_SIZE_MINI_THUMBNAIL_HEIGHT,Bitmap.Config.RGB_565);
Log.e(TAG,"batchBuildThumbnailcreateBitmapfaild:"+f.getAbsolutePath());
}

pf.width=bitmap.getWidth();
pf.height=bitmap.getHeight();

//缩略图
bitmap=ThumbnailUtils.extractThumbnail(bitmap,ThumbnailUtils.dipToPX(ctx,ThumbnailUtils.TARGET_SIZE_MICRO_THUMBNAIL_WIDTH),ThumbnailUtils.dipToPX(ctx,ThumbnailUtils.TARGET_SIZE_MICRO_THUMBNAIL_HEIGHT),ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
if(bitmap!=null){
Filethum=newFile(f.getParent(),f.getName()+".jpg");
pf.thumb=thum.getAbsolutePath();
//thum.createNewFile();
FileOutputStreamiStream=newFileOutputStream(thum);
bitmap.compress(Bitmap.CompressFormat.JPEG,85,iStream);
iStream.close();
}

if(bitmap!=null)
bitmap.recycle();
}
}catch(Exceptione){
Log.e(TAG,e);
continue;
}finally{
result.add(pf);
}
}

returnresult;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值