感谢@VGR引起了我对JavaFX的关注,我将JFXPanel集成到了我想要视频放置的JPanel中.就我而言,它工作得很好,因为它是一个可以播放一个视频的简单屏幕.
以下是完整的代码段:
private void getVideo(){
final JFXPanel VFXPanel = new JFXPanel();
File video_source = new File("tutorial.mp4");
Media m = new Media(video_source.toURI().toString());
MediaPlayer player = new MediaPlayer(m);
MediaView viewer = new MediaView(player);
StackPane root = new StackPane();
Scene scene = new Scene(root);
// center video position
javafx.geometry.Rectangle2D screen = Screen.getPrimary().getVisualBounds();
viewer.setX((screen.getWidth() - videoPanel.getWidth()) / 2);
viewer.setY((screen.getHeight() - videoPanel.getHeight()) / 2);
// resize video based on screen size
DoubleProperty width = viewer.fitWidthProperty();
DoubleProperty height = viewer.fitHeightProperty();
width.bind(Bindings.selectDouble(viewer.sceneProperty(), "width"));
height.bind(Bindings.selectDouble(viewer.sceneProperty(), "height"));
viewer.setPreserveRatio(true);
// add video to stackpane
root.getChildren().add(viewer);
VFXPanel.setScene(scene);
//player.play();
videoPanel.setLayout(new BorderLayout());
videoPanel.add(VFXPanel, BorderLayout.CENTER);
}
完成getVideo()函数后,我在JFrame的构造函数中调用了它,以在应用程序启动时触发它.
博主受@VGR启发关注JavaFX,将JFXPanel集成到JPanel中实现播放MP4视频。文中给出完整代码段,定义了getVideo()函数用于处理视频播放相关操作,完成后在JFrame构造函数中调用该函数,使应用启动时触发视频播放。
1515

被折叠的 条评论
为什么被折叠?



