这是我正在使用的功能:
public Bitmap getVideoFrame(String FD, long time) {
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
try {
retriever.setDataSource(FD);
return retriever.getFrameAtTime(time * 1000, MediaMetadataRetriever.OPTION_CLOSEST);
} catch (IllegalArgumentException ex) {
ex.printStackTrace();
} catch (RuntimeException ex) {
ex.printStackTrace();
} finally {
try {
retriever.release();
} catch (RuntimeException ex) {
}
}
return null;
}
其中:FD是视频时间的路径= videoview.getCurrentPosition();
问题是这个函数没有得到我需要得到的确切帧。在较长的视频(20 分钟)上,它会比在短视频(10-20 秒)中更准确。我有什么遗漏的吗,如果没有,我可以用什么来代替检索器?