2012-08-09 61 views
2

我试图从视频文件中提取缩略图图像,用例是我想为每个其他秒的视频创建一个位图图像,我尝试使用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()); 

      } 

是否有任何其他可行的解决方案,使帧周期?

回答

3

MediaMetadataRetriever的时间以微秒为单位指定。

要获得帧在2秒时你必须调用:

Bitmap bmp = retriever.getFrameAtTime(2 * 1000000, MediaMetadataRetriever.OPTION_CLOSEST); 

我发现,MediaMetadataRetriever返回一整秒的相同帧不管这个非常精确的时间戳,但对你的要求它应该工作。

+1

所有图片仍然相同 – 2012-08-13 09:45:32