1

我正在开发一个应用程序来提取视频的帧,但我不能使用 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 提取帧,所以我认为视频是正确的。

我不知道为什么我无法提取帧。如果图书馆对我很好,我会很高兴。谢谢!!

4

1 回答 1

2

代码中有一个错误导致返回空帧,我刚刚解决了这个问题。请重新检出代码并重试。

于 2013-08-20T02:52:17.537 回答