如何从视频中提取位图?

问题描述 投票:0回答:1

我正在Android Studio上开发Java应用程序。 我想要任何可以从视频中获取位图的代码。我使用绝对路径拍摄视频。视频输入为8 FPS。

MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(absolutePath);

只是想从视频中获取位图。任何帮助,将不胜感激。

java android bitmap
1个回答
0
投票

我尝试了以下代码,并且有效

 MediaMetadataRetriever retriever = new MediaMetadataRetriever();
   try {
        //path of the video of which you want frames
        retriever.setDataSource(absolutePath);
    }catch (Exception e) {

    }

    String duration = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
    int duration_millisec = Integer.parseInt(duration); //duration in millisec
    int duration_second = duration_millisec / 1000;  //millisec to sec.
    int frames_per_second = 30;  //no. of frames want to retrieve per second
    int numeroFrameCaptured = frames_per_second * duration_second;
    long frame_us=1000000/30;
    capture=="+numeroFrameCaptured);

    for (int i = 0; i < numeroFrameCaptured; i++)
    {
        //setting time position at which you want to retrieve frames

        MEventsManager.getInstance().inject(MEventsManager.IMAGE,retriever.getFrameAtTime(frame_us*i,MediaMetadataRetriever.OPTION_CLOSEST));
    }

    retriever.release();
© www.soinside.com 2019 - 2024. All rights reserved.