3

使用元数据检索器从视频中获取位图在 Android 10 中需要太多时间,但在 Android 10 以下运行良好。仅在 Android 10 中面临此问题。 getFrameAtTime并且getScaledFrameAtTime两者在 Android 10 中都很慢。

在这里,我添加了用于获取位图形式视频的代码

  Bitmap bitmap = null;
    MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();
    mediaMetadataRetriever.setDataSource(context, videoUri);
    bitmap = mediaMetadataRetriever.getScaledFrameAtTime( ONE_SECOND_IN_MILLI, MediaMetadataRetriever.OPTION_CLOSEST_SYNC,THUMB_WIDTH,THUMB_HEIGHT);

构建 gradle sdk 版本

   compileSdkVersion = 28
   def nativeBuildSystem = 'none'
     defaultConfig {
        applicationId "com.example.example"
        minSdkVersion 26
        targetSdkVersion 28
    ...
    }
4

1 回答 1

0

Android P的bug,如华为P30,最新的已经修复。Uri 转换为文件是一种有效的方法

于 2020-05-14T06:08:41.883 回答