嗨,谁能告诉我如何拍摄在 videoview 中播放的视频的快照。快照给出了空白图像,或任何方法来获取当前视频帧,我想选择当前帧,任何人都可以帮助请
问问题
154 次
1 回答
0
最有效的解决方案是MediaMetadataRetriever。首先打电话
setDataSource(文件描述符 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)
提取帧。请记住,您应该使用微秒作为参数
于 2013-03-03T07:50:50.583 回答