我正在尝试使用MediaMetadataRetriever获取mp4视频的最后一帧,但对于短视频(例如3s长视频),它总是返回第一帧,对长视频来说效果很好。 FFmpegMediaMetadataRetriever也给出相同的结果。
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(video);
String time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
Bitmap frameAtTime = retriever.getFrameAtTime(Long.parseLong(time)*1000, MediaMetadataRetriever.OPTION_CLOSEST);
mImage.setImageBitmap(frameAtTime);
任何建议将不胜感激。