gpt4 book ai didi

android - MediaStore.Video.Thumbnails.getThumbnail() 返回 null

转载 作者:行者123 更新时间:2023-11-29 00:40:30 25 4
gpt4 key购买 nike

我有以下代码;

String[] projection = { MediaStore.Video.VideoColumns._ID, MediaStore.Video.VideoColumns.DATA };
//String selection = MediaStore.Video.VideoColumns.KIND + "=" + MediaStore.Video.VideoColumns.;
String sort = MediaStore.Video.VideoColumns._ID + " DESC";

Cursor myCursor = getActivity().managedQuery(MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI, projection, null, null, sort);


try
{
myCursor.moveToFirst();
Log.d("VIDEO_URI", intent.getDataString());
Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(
getActivity().getContentResolver(), myCursor.getLong(myCursor.getColumnIndexOrThrow(MediaStore.Video.VideoColumns._ID)),
MediaStore.Video.Thumbnails.MICRO_KIND,
(BitmapFactory.Options) null );

ImageView iv = (ImageView) getActivity().findViewById(R.id.attached_media_image);

//Log.d("IMAGE", curThumb.toString());

iv.setImageBitmap(bitmap);

}
catch (Exception e) {
// TODO: handle exception
Log.e("ERROR", e.toString());
}

运行时我的 LogCat 中得到以下信息;

03-13 12:05:14.740: D/VIDEO_URI(7269): content://media/external/video/media/474

但它没有将 iv 的图像设置为任何东西,当我尝试运行 Log.d("IMAGE", curThumb.toString()); 时行,在这个例子中被注释掉,它会抛出一个空异常。

如有任何帮助,我们将不胜感激。

最佳答案

缩略图生成不能保证成功,因为生成缩略图的部分不能为某些视频编解码器这样做。在这种情况下,返回的 Bitmap 将为 null

  • 你检查过 bitmap != null 了吗?
  • 您是否获得了视频的缩略图?图库应用程序?
  • 什么是 curThumb,我在您的代码中看不到它的定义。

编辑:您的错误是您使用了缩略图表中的 ID 而不是视频的 ID。您需要做的就是通过这种方式获取位图:

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

Api Doc 说:“origId:与感兴趣的缩略图关联的原始图像 ID。”

关于android - MediaStore.Video.Thumbnails.getThumbnail() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9688789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com