gpt4 book ai didi

java - Android 如何使用 Cursor 在我的直接路径中获取图像和视频缩略图?

转载 作者:行者123 更新时间:2023-11-30 08:51:22 25 4
gpt4 key购买 nike

如何使用 Cursor 在同一光标的直接路径中获取图像和视频缩略图?

我需要获取/DCIM/100ANDRO 文件夹中的图像和视频缩略图。

但是我只能把图片和视频分开才能把sd卡里的所有数据都存起来。

  private ArrayList<ImageItem> getData() {
final ArrayList<ImageItem> imageItems = new ArrayList<>();

ContentResolver cr = mContext.getContentResolver();

String[] projection = {MediaStore.Images.Thumbnails.DATA, MediaStore.Video.Thumbnails.DATA};
Cursor cursor = cr.query(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,projection,null,null,null);

for( int i = 0 ; i < cursor.getCount(); i++)
{
cursor.moveToPosition(i);
String filePath = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Thumbnails.DATA));
Log.i("info","filePath:"+filePath);
File file = new File(filePath);

Bitmap myBitmap = BitmapFactory.decodeFile(file.getAbsolutePath());

imageItems.add( new ImageItem(myBitmap, "Image#" + i) );
}


cursor = cr.query(MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI,projection,null,null,null);
for( int i = 0 ; i < cursor.getCount(); i++)
{
cursor.moveToPosition(i);
String filePath = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Thumbnails.DATA));
Log.i("info","filePath:"+filePath);
File file = new File(filePath);

Bitmap myBitmap = BitmapFactory.decodeFile(file.getAbsolutePath());

imageItems.add( new ImageItem(myBitmap, "Image#" + i) );
}

cursor.close();
return imageItems;
}

有没有可能使用光标直接文件夹获取缩略图并同时获取视频和图像缩略图?

非常感谢。

最佳答案

我找到了答案。

我们应该反转这个方法。

我们可以找到真正的路径。然后获取 ID。

通过ID获取图片和视频缩略图。

使用光标获取图片和视频可以引用articles .

使用以下代码获取图片缩略图:

 bitmap = MediaStore.Images.Thumbnails.getThumbnail(context
.getApplicationContext().getContentResolver(), item.getImgId(),
MediaStore.Images.Thumbnails.MICRO_KIND, null);

使用以下代码获取视频缩略图:

  bitmap = MediaStore.Video.Thumbnails.getThumbnail(context
.getApplicationContext().getContentResolver(), item.getImgId(),
MediaStore.Images.Thumbnails.MICRO_KIND, null);

关于java - Android 如何使用 Cursor 在我的直接路径中获取图像和视频缩略图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30587006/

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