在videovew拍摄视频快照的任何解决方案?

时间:2013-03-03 07:40:27

标签: android android-layout android-intent android-widget

嗨,任何人都可以告诉我如何拍摄视频中正在播放的视频的快照。快照给出了空白图像,或任何抓取当前视频帧的方法,我想选择当前帧,任何人都可以帮助PLZ

1 个答案:

答案 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)

提取框架。请注意,您应该使用微秒作为参数