我正在使用以下方法生成缩略图(在 android 10 中已弃用)
thumbnail_bitmap = ThumbnailUtils.createVideoThumbnail(path, MediaStore.Video.Thumbnails.FULL_SCREEN_KIND);
像这样获取异常
java.io.IOException: Failed to create thumbnail
谢谢。
最佳答案
这是从存储中生成视频缩略图的解决方案。
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
thumbnail_bitmap = createThumbnail(RecordPitchActivity.this, path);
} else {
thumbnail_bitmap = ThumbnailUtils.createVideoThumbnail(path, MediaStore.Video.Thumbnails.FULL_SCREEN_KIND);
}
public static Bitmap createThumbnail(Activity activity, String path) {
MediaMetadataRetriever mediaMetadataRetriever = null;
Bitmap bitmap = null;
try {
mediaMetadataRetriever = new MediaMetadataRetriever();
mediaMetadataRetriever.setDataSource(activity, Uri.parse(path));
bitmap = mediaMetadataRetriever.getFrameAtTime(1000, MediaMetadataRetriever.OPTION_CLOSEST_SYNC);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (mediaMetadataRetriever != null) {
mediaMetadataRetriever.release();
}
}
return bitmap;
}
关于android - 在 Android Q 中从 Sdcard 生成缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65005765/