我正在尝试从视频文件中提取缩略图图像,用例是我想要每隔一秒视频的Bitmap图像,我尝试使用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());
}
是否有其他可行的解决方案定期获取帧?
答案 0 :(得分:3)
MediaMetadataRetriever的时间以微秒为单位。
要在2秒内获得帧,您必须致电:
Bitmap bmp = retriever.getFrameAtTime(2 * 1000000, MediaMetadataRetriever.OPTION_CLOSEST);
我发现MediaMetadataRetriever返回相同的帧一整秒钟,而不管这个非常精确的时间戳,但是根据您的要求它应该可以工作。