How to get thumbnail for video in my /sdcard/Android/data/mypackage/files folder?

后端 未结 12 1743
情深已故
情深已故 2020-11-30 22:21

Query to MediaStore.Video.Media.EXTERNAL_CONTENT_URI returns only video in /sdcard/DCIM/100MEDIA

But I want to get thumbnails for video in

12条回答
  •  囚心锁ツ
    2020-11-30 22:50

    You can just use FFmpegMediaMetadataRetriever and forget the reflection:

    /**
     *
     * @param path
     *            the path to the Video
     * @return a thumbnail of the video or null if retrieving the thumbnail failed.
     */
    public static Bitmap getVideoThumbnail(String path) {
        Bitmap bitmap = null;
    
        FFmpegMediaMetadataRetriever fmmr = new FFmpegMediaMetadataRetriever();  
    
        try {
            fmmr.setDataSource(path);            
    
            final byte[] data = fmmr.getEmbeddedPicture();
    
            if (data != null) {
                bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
            }
    
            if (bitmap == null) {
                bitmap = fmmr.getFrameAtTime();   
            }
        } catch (Exception e) {
            bitmap = null;
        } finally {
            fmmr.release();
        }
        return bitmap;
    }
    

提交回复
热议问题