如何使用方毕加索库加载视频缩略图? [英] How to load video thumbnails using square picasso library?

查看:899
本文介绍了如何使用方毕加索库加载视频缩略图?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前我加载使用毕加索到的ListView 与下面的代码段MediaStore图片缩略图:( video.getData()返回图像的实际路径,如 MNT / SD卡/...

Currently I'm loading MediaStore Image Thumbnails using picasso into the ListView with the following snippet: (video.getData() returns the actual path of the image such as mnt/sdcard/...)

Picasso.with(this.context)
       .load(new File(photo.getData()))
       .resize(50, 50).config(config)
       .centerCrop()
       .into(viewHolder.imageViewItem);

现在,我并不能通过刚好路过加载MediaStore视频缩略图的 video.getData()而不是 photo.getData()

Now I'm and unable to load the MediaStore Video Thumbnails by just passing the video.getData() instead of photo.getData()?

推荐答案

首先,您需要创建VideoRequestHandler

First You need to create VideoRequestHandler

public class VideoRequestHandler extends RequestHandler{
public String SCHEME_VIEDEO="video";
@Override
public boolean canHandleRequest(Request data) 
{
    String scheme = data.uri.getScheme();
    return (SCHEME_VIEDEO.equals(scheme));
}

@Override
public Result load(Request data, int arg1) throws IOException 
{
     Bitmap bm = ThumbnailUtils.createVideoThumbnail(data.uri.getPath(), MediaStore.Images.Thumbnails.MINI_KIND);
     return new Result(bm,LoadedFrom.DISK);


}

}

之后

 VideoRequestHandler videoRequestHandler;
 Picasso picassoInstance;

打造一次

 videoRequestHandler=new VideoRequestHandler();
 picassoInstance = new Picasso.Builder(context.getApplicationContext())
  .addRequestHandler(videoRequestHandler)
  .build();

从路径加载文件

load file from path

 picassoInstance.load(videoRequestHandler.SCHEME_VIEDEO+":"+filepath).into(holder.videoThumbnailView);

这篇关于如何使用方毕加索库加载视频缩略图?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆