获取视频缩略图

public static ArrayList<PFile>batchBuildThumbnail( final Contextctx, final ArrayList<File>files){
ArrayList<PFile>result= new ArrayList<PFile>();

for (Filef:files){
PFilepf= new PFile();
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= new File(f.getParent(),f.getName()+".jpg");
pf.thumb=thum.getAbsolutePath();
// thum.createNewFile();
FileOutputStreamiStream= new FileOutputStream(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);
}
}

return result;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值