MediaThumbnailExecutorManager.java 文件源码

java
阅读 30 收藏 0 点赞 0 评论 0

项目:persontracker 作者:
private Runnable getThumbnailRunnable(final MediaVO media, final ImageView imageView)
{
    final Runnable loadImage = new Runnable()
    {
        public void run()
        {
            Bitmap bitmap = null;

            final Context context = imageView.getContext();

            // get thumb from media database
            if (media.isVideo()) {

                bitmap = MediaStore.Video.Thumbnails.getThumbnail(context.getContentResolver(), media.getId(),
                        MediaStore.Video.Thumbnails.MICRO_KIND, null);

            } else {
                bitmap = MediaStore.Images.Thumbnails.getThumbnail(context.getContentResolver(), media.getId(),
                        MediaStore.Images.Thumbnails.MICRO_KIND, null);
            }


            if (bitmap == null) {
                if (media.isVideo()) {                      
                  bitmap = ThumbnailUtils.createVideoThumbnail(media.getPath(), Thumbnails.MICRO_KIND);
                } else { 
                  bitmap = ImageUtils.decodeBitmapFromFile(media.getPath(), imageView.getWidth(),
                          imageView.getHeight());
                }
            }


            if (bitmap != null) {
                handler.post(new OnThumbnailReadyMessage(imageView, media.getKey(), new BitmapDrawable(context.getResources(), bitmap)));
            } else {
                Log.w("ThumbnailWorker", "Can't load thumbnail for file " + media.getPath());
            }
        }
    };

    return loadImage;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号