android - 无法从 Android Q 中的 Uri 加载视频缩略图

标签 android android-external-storage android-10.0

我已经尝试过这段代码。但无法再获取缩略图。 还尝试了不同的方法来获取缩略图。 我应该为 android Q 更改什么?

  private void getVideoList(){
            if (Build.VERSION.SDK_INT == Build.VERSION_CODES.Q) {
                String[] projection = new String[]{
                        MediaStore.Video.VideoColumns._ID,
                        MediaStore.Video.VideoColumns.DISPLAY_NAME,
                        MediaStore.Video.VideoColumns.DURATION,
                        MediaStore.Video.VideoColumns.SIZE,enter code here
                        MediaStore.Video.VideoColumns.DATA,`enter code here`
                };
                String selection = MediaStore.Video.Media.DURATION + " <= ?";
                String[] selectionArgs = new String[]{
                        String.valueOf(TimeUnit.MILLISECONDS.convert(30, TimeUnit.SECONDS))
                };

                String sortOrder = MediaStore.Video.Media.DATE_ADDED + " ASC";

                try (Cursor cursor = getApplicationContext().getContentResolver().query(
                        MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
                        projection,
                        selection,
                        selectionArgs,
                        sortOrder
                )) {





                    }
                }

            }
        }

最佳答案

使用此方法获取视频缩略图:

public static Bitmap getThumbVideo(Context context, Uri videoUri){
    Bitmap bitmap = null;
    MediaMetadataRetriever mediaMetadataRetriever = null;
    try {
        mediaMetadataRetriever = new MediaMetadataRetriever();
        mediaMetadataRetriever.setDataSource(context, videoUri);
        bitmap = mediaMetadataRetriever.getFrameAtTime(1000, MediaMetadataRetriever.OPTION_CLOSEST_SYNC);
    } catch ( Exception e) {
        e.printStackTrace();
    } finally {
        if (mediaMetadataRetriever != null) {
            mediaMetadataRetriever.release();
        }
    }
    return bitmap;
}

它适用于所有当前版本的 Android。

关于android - 无法从 Android Q 中的 Uri 加载视频缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61557373/

相关文章:

android - CSS - 兄弟选择器在 android 中不起作用?

java - OpenCV-Android : Import . png 保留空白区域的透明度

android - 除了常规的 Activity 和 View 之外,ListActivity 和 ListView 还提供什么?

android - 将下载的图像保存在 Android 的图库中

android - 在 Android Q 上查询 MediaStore

java - 如何在 Android Q 中获取 Image Uri?

android - 如何在 Android 10 中访问外部存储?

android - BitmapFactory.decodeResource() 没有从 drawable 获取我的图像

java - 将视频插入图库 [Android Q]