相关疑难解决方法(0)

在同一光标中访问有序图像和视频

我正在使用android.content.CursorLoader该类创建两个Cursor对象来访问存储在我的应用程序设备用户上的媒体.我想向用户提供他们存储的图像和视频的网格视图,这些视频保留了Android Gallery应用程序的订单.

目前我正在使用一个Cursor访问图像,一个访问视频.使用这种方法,所有图像都在所有视频之前(即它们在两个单独的组中).有没有办法同时访问图像和视频Cursor?如果没有,是否有更好的方法来访问设备上的这些媒体?

作为参考,这是我正在使用的代码:

对于图像:

CursorLoader cursorLoader = new CursorLoader(
    mContext,
    MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
    IMAGE_PROJECTION,
    null,
    null,
    MediaStore.Images.Media._ID + " desc"
  );
  mImageCursor = cursorLoader.loadInBackground();
Run Code Online (Sandbox Code Playgroud)

和视频:

CursorLoader cursorLoader = new CursorLoader(
    mContext,
    MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
    VIDEO_PROJECTION,
    null,
    null,
    MediaStore.Video.Media._ID + " desc"
  );
  mVideoCursor = cursorLoader.loadInBackground();
Run Code Online (Sandbox Code Playgroud)

media video android image cursor

30
推荐指数
1
解决办法
1万
查看次数

自定义图库与android中的图像和视频选择多个项目

我想创建一个自定义图库,以显示SD卡中的所有图像和视频(以及持续时间).我正在使用以下代码来构建自定义库

码:

final String[] columns = { MediaStore.Images.Media.DATA ,MediaStore.Images.Media._ID};
    final String orderBy = MediaStore.Images.Media.DATE_TAKEN;
    Cursor imagecursor = getContentResolver().query(
            MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,
            null, orderBy + " DESC");

    this.imageUrls = new ArrayList<String>();


    for (int i = 0; i < imagecursor.getCount(); i++) {
        imagecursor.moveToPosition(i);
        int dataColumnIndex = imagecursor.getColumnIndex(MediaStore.Images.Media.DATA);
        imageUrls.add(imagecursor.getString(dataColumnIndex));

    }
  String[] parameters = { MediaStore.Video.Media._ID,
                MediaStore.Video.Media.DATA,
                MediaStore.Video.Media.DISPLAY_NAME,
                MediaStore.Video.Media.SIZE, MediaStore.Video.Media.DURATION,
                MediaStore.Video.Media.DATE_TAKEN,MediaStore.Video.Thumbnails.DATA};



     Cursor   videocursor = getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
                parameters, null, null, null);

     for (int i = 0; i < videocursor.getCount(); i++) {
         videocursor.moveToPosition(i);
         imageUrls.add(videocursor.getString(videocursor.getColumnIndex(MediaStore.Video.Thumbnails.DATA)));
            }
    options = …
Run Code Online (Sandbox Code Playgroud)

video android gallery

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×2

video ×2

cursor ×1

gallery ×1

image ×1

media ×1