我正在尝试从视频文件中提取缩略图图像,用例是我想要视频的每隔一秒都有一个位图图像,我尝试使用 MediaMetadataRetriever,但问题是它返回相同的帧,无论什么时间到了。
这是我尝试过的代码
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(PATH);
for(int i = 0; i< 10 ;i++) {
Bitmap bmp = retriever.getFrameAtTime(i * 1000, MediaMetadataRetriever.OPTION_CLOSEST);
imgList.add(bmp);
System.out.println(imgList.size());
}
是否有其他可行的解决方案来定期获取 Frames?
最佳答案
MediaMetadataRetriever 的时间以微秒为单位指定。
要在 2 秒处获取帧,您必须调用:
Bitmap bmp = retriever.getFrameAtTime(2 * 1000000, MediaMetadataRetriever.OPTION_CLOSEST);
我发现 MediaMetadataRetriever 在整整一秒内返回相同的帧,无论这个非常精确的时间戳如何,但根据您的要求,它应该可以工作。
关于android - 定期从视频文件中检索缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11881641/