JpegImagesToMovie добавляет только одно изображение - PullRequest
0 голосов
/ 28 сентября 2018

Итак, после долгого поиска в сети, я придумал следующий код, чтобы сделать jpeg скриншоты, а затем преобразовать их в mov:

public class ScreenshotTests {
    public static int counter = 1;
    public static void main(String[] args) throws IOException, AWTException, InterruptedException {
        ActionListener taskPerformer = new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Robot robot = null;
                try {
                    robot = new Robot();
                } catch (AWTException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
                Rectangle rectangle = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
                BufferedImage image = robot.createScreenCapture(rectangle);
                try {
                    ImageIO.write(image, "jpg", new File("images/test" + counter + ".jpg"));
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                counter++;
            }
        };
        Timer timer = new Timer(0, taskPerformer);
        timer.setRepeats(true);
        timer.start();

        Thread.sleep(5000);
        timer.stop();
        Vector<String> imgLst = new Vector<String>();
        for (int i = 0; i < new File("images").list().length; i++) {
            imgLst.add("images/test" + i + 1 + ".jpg");
        }

                JpegImagesToMovie imageToMovie = new JpegImagesToMovie();
                MediaLocator oml;
                if ((oml = imageToMovie.createMediaLocator("test1.mov")) == null) {
                    System.err.println("Cannot build media locator from: " + "test1.mov");
                    System.exit(0);
                }
                int interval = 50;
                imageToMovie.doIt(1920, 1080, (1000 / interval), imgLst, oml);
    }
}

И этоработает нормально, без ошибок.Однако, хотя я и получаю несколько десятков изображений в папке image, видео состоит только из последнего изображения (а продолжительность видео равна нулю секунд).Что здесь не так?

...