Android:ThumbnailUtils.createVideoThumbnail返回黑色位图

时间:2016-04-26 10:38:40

标签: android thumbnails android-bitmap android-videoview

我正在处理Android中的缩略图。即使我使用Android提供的函数ThumbnailUtils.createVideoThumbnail,它也会获得黑色位图。

我开始研究并找出一些链接:
1 / Thumbnail null
2 / Video Thumbnail return null

但是,我检查了我返回的位图并发现它不是空的。

如果您有任何想法,请与我们联系。

任何建议都将不胜感激。提前谢谢!

3 个答案:

答案 0 :(得分:0)

您可以使用此方法创建缩略图

private Bitmap getThumbnailBitmap(String file_name,String file_type)
    {
        try
        {
            String file_path= Environment.getExternalStorageDirectory()+File.separator+ Constants.APP_FOLDER_NAME+File.separator+ Constants.ATTACHMENTS_FOLDER_NAME+File.separator+file_name;
            if(file_type.equals(Constants.FILE_TYPE_IMAGE))
            {
                int dimens=(int) Env.currentActivity.getResources().getDimension(R.dimen.thumbnailHW);
                FileInputStream fis = new FileInputStream(file_path);
                Bitmap imageBitmap = BitmapFactory.decodeStream(fis);
                return ThumbnailUtils.extractThumbnail(imageBitmap, dimens, dimens);

            }
            else if(file_type.equals(Constants.FILE_TYPE_VIDEO))
            {

                return ThumbnailUtils.createVideoThumbnail(file_path, MediaStore.Video.Thumbnails.MICRO_KIND);
            }
        }catch (Exception e)
        {
            e.printStackTrace();
        }
        return null;
    }

答案 1 :(得分:0)

检查一下

Bitmap ThumbnailUtils.createVideoThumbnail("picturePath", MediaStore.Video.Thumbnails.MINI_KIND);

答案 2 :(得分:0)

如果此方法为getThumbnailBitmap();返回Bitmap Null这个问题出现在某些设备上,所以请使用下面的代码

Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(
                getActivity().getContentResolver(),
                ContentUris.parseId(intent.getData()),
                MediaStore.Video.Thumbnails.MICRO_KIND,
                (BitmapFactory.Options) null );