public static Bitmap createVideoThumbnail (String filePath,
int kind)
上述方法在API
级别29中已弃用。
我们现在需要使用这个:
public static Bitmap createVideoThumbnail (File file,
Size size,
CancellationSignal signal)
我的问题是如何将Size
设置为我正在创建缩略图的视频File
的本机大小?
我希望它是相同的height/width and dimensions
。
以前,我可以使用ThumbnailUtils.createVideoThumbnail(file_path, MediaStore.Images.Thumbnails.FULL_SCREEN_KIND)
;
使用MediaMetadataRetriever类获取大小。大小将等于创建的视频文件的大小。
public static Size getThumbSize(String path) {
MediaMetadataRetriever dataRetriever = new MediaMetadataRetriever();
dataRetriever.setDataSource(path);
String width =
dataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH);
String height =
dataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT);
return new Size(Integer.parseInt(width), Integer.parseInt(height));
}
你可以试试这个
val retriever = MediaMetadataRetriever()
retriever.setDataSource(context, uri)
val bitmap = retriever.frameAtTime
viewBinding.yourImageView.setImageBitmap(bitmap)
retriever.release()
bitmap?.recycle()