在视频编辑程序上播放按钮我正在创建不起作用

时间:2014-04-09 16:57:28

标签: java javafx javafx-2

我创建了一个视频编辑器,到目前为止还顺利。我只需要找出一种方法来播放我存储在数组中的视频帧并将其显示在标签上。这是我到目前为止所尝试过的,它没有按预期工作。视频帧不播放,而标签仅显示最后一帧。

我只是想知道我哪里出错或者我需要采取完全不同的方法来播放这些帧。

框架由JavaFX ImageView(最初是BufferedImage)

捕获
 @FXML
public void playButton() {
    for (int i = 0; i < imageList.size(); i++) {

        final int iFinal = i; //Workaround to allow i value to work in inner class

        Task task = new Task<Void>() {
            @Override
            public Void call() {
                try {
                    Thread.sleep((long) (1000 / frameRate));
                    previewBoxLabel.setGraphic(imageList.get(iFinal).getImage());
                    System.out.println("Play");
                } catch (Exception e) {
                }
                return null;
            }
        };
        new Thread(task).start();
    }
}

先谢谢你的帮助:)

1 个答案:

答案 0 :(得分:1)

怎么样

@FXML
public void playButton() {
        Task task = new Task<Void>() {
            @Override
            public Void call() throws Exception {
                for (final ImageView image : imageList) {
                    Platform.runLater(new Runnable() {
                        @Override
                        public void run() {
                            previewBoxLabel.setGraphic(image);
                        }
                    });

                    Thread.sleep((long) (1000 / frameRate));
                }
                return null;
            }
        };
        new Thread(task).start();
    }
}