嗨,任何人都可以告诉我如何拍摄视频中正在播放的视频的快照。快照给出了空白图像,或任何抓取当前视频帧的方法,我想选择当前帧,任何人都可以帮助PLZ
答案 0 :(得分:0)
最有效的解决方案是MediaMetadataRetriever。 首先打电话
setDataSource(FileDescriptor fd)
是的,这是一个非常棘手的方法。有时需要复杂的解决方案。这是一个例子:
public void setVideo(Uri videoPath) {
videoUri = videoPath;
File file = new File(videoPath.getPath());
ParcelFileDescriptor pfd;
FileDescriptor fd = new FileDescriptor();
try {
pfd = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_WRITE);
fd = pfd.getFileDescriptor();
metadataRetriever.setDataSource(fd);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
设置您要使用的视频。其次使用这种方法:
getFrameAtTime(long timeUs)
提取框架。请注意,您应该使用微秒作为参数