代码之家  ›  专栏  ›  技术社区  ›  MathankumarK

在Android 10中,MediaMetadataRetriever的getScaledFrameAtTime太慢,无法返回位图

  •  0
  • MathankumarK  · 技术社区  · 6 年前

    使用元数据检索器从视频中获取位图在android10中花费了太多的时间,但是低于android10的效果很好。只有android10才面临这个问题。 getFrameAtTime getScaledFrameAtTime 两者在android10中都很慢。

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

      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
        ...
        }
    
    0 回复  |  直到 6 年前
        1
  •  0
  •   Embiid    5 年前

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

    推荐文章