首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MediaStore.Video.Thumbnails.getThumbnail()返回null

MediaStore.Video.Thumbnails.getThumbnail()返回null
EN

Stack Overflow用户
提问于 2012-03-14 01:14:45
回答 1查看 7.9K关注 0票数 3

我有以下代码;

代码语言:javascript
复制
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中得到了以下内容;

代码语言:javascript
复制
03-13 12:05:14.740: D/VIDEO_URI(7269): content://media/external/video/media/474

但是它没有将iv的图像设置为任何值,并且当我尝试运行Log.d(" image ",curThumb.toString());行时,它抛出了一个空异常。

任何帮助都将不胜感激谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-14 02:32:45

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

  • 你有没有检查过你是否在画廊应用程序中获得了视频的缩略图?
  • 什么是curThumb,我在你的代码中看不到它的定义。

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

代码语言:javascript
复制
        Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(
                getActivity().getContentResolver(),
                ContentUris.parseId(intent.getData()),
                MediaStore.Video.Thumbnails.MICRO_KIND,
                (BitmapFactory.Options) null );

接口文档表示:"origId:关注缩略图关联的原始图片id。“

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9688789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档