Невозможно загрузить миниатюру видео из Uri в android Q - PullRequest
0 голосов
/ 02 мая 2020

я пробовал этот код. но не в состоянии получить миниатюру больше. Также пробовал разные подходы, чтобы получить thubmnails. что я должен изменить на 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
                )) {





                    }
                }

            }
        }

1 Ответ

0 голосов
/ 02 мая 2020

Используйте этот метод для получения большого пальца видео:

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...