我正在开发一个应用程序来提取视频的帧,但我不能使用 MediaMetadataRetriever,因为它失败了很多次。所以我找到了一个由 William Seemann 编写的名为 FFmpegMediaMetadataRetriever 的外部库来提取帧。但是我没有使用 FFmpegMediaMetadataRetriever.getFrameAtTime(long time) 方法获得任何位图。
这是我正在尝试的代码:
FFmpegMediaMetadataRetriever mediaData = new FFmpegMediaMetadataRetriever();
mediaData.setDataSource("/storage/sdcard0/DCIM/video.mp4");
frame = (ImageView)findViewById(R.id.frame);
frame.setImageBitmap(mediaData.getFrameAtTime());
相反,我可以从视频中获取元数据,并且可以使用 MedaMetadataRetriever 提取帧,所以我认为视频是正确的。
我不知道为什么我无法提取帧。如果图书馆对我很好,我会很高兴。谢谢!!