【问题标题】:Access image and video thumbnails for creating a custom gallery访问图像和视频缩略图以创建自定义画廊
【发布时间】:2018-10-31 21:33:58
【问题描述】:

我想创建一个类似 Instagram 中使用的自定义画廊。我需要获取所有图像和视频并在 Recyclerview 中显示它们。如果用户单击图像缩略图,该图像将显示在页面顶部,如果用户单击视频缩略图,则该视频将在页面顶部播放。我在片段中使用了 LoaderManager,并使用一个光标获取所有图像和视频,如 here 所述

以下是我的一段代码

   @NonNull
@Override
public Loader<Cursor> onCreateLoader(int id, @Nullable Bundle args) {
    String[] projection = {
            MediaStore.Files.FileColumns._ID,
            MediaStore.Files.FileColumns.DATA,
            MediaStore.Files.FileColumns.DATE_ADDED,
            MediaStore.Files.FileColumns.MEDIA_TYPE,
            MediaStore.Files.FileColumns.MIME_TYPE,
            MediaStore.Files.FileColumns.TITLE
    };

    String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "="
            + MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE
            + " OR "
            + MediaStore.Files.FileColumns.MEDIA_TYPE + "="
            + MediaStore.Files.FileColumns.MEDIA_TYPE_VIDEO;

    Uri queryUri = MediaStore.Files.getContentUri("external");

    CursorLoader cursorLoader = new CursorLoader(
            getContext(),
            queryUri,
            projection,
            selection,
            null, // Selection args (none).
            MediaStore.Files.FileColumns.DATE_ADDED + " DESC" // Sort order.
    );


    return cursorLoader;
}

@Override
public void onLoadFinished(@NonNull Loader<Cursor> loader, Cursor data) {

    recyclerView.setAdapter(new GalleryAdapter(getContext(), data, this));
}

我的问题是我需要图像和视频的缩略图而不是原始缩略图,我该怎么做?

【问题讨论】:

    标签: android android-cursorloader android-loadermanager video-thumbnails


    【解决方案1】:

    您可以获取此类视频的缩略图

    Bitmap bitmap = ThumbnailUtils.createVideoThumbnail("file_path",
                    MediaStore.Video.Thumbnails.MINI_KIND);
    

    【讨论】:

      猜你喜欢
      • 2018-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-20
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多