未指定大小的Android ThumbnailUtils.createVideoThumbnail在API 29级中被弃


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()

最新更新