用Java编写一个视频播放器,可以使用JavaFX库来创建用户界面,并使用JavaFX提供的MediaPlayer类来处理视频播放。以下是一个简单的示例代码:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;import java.io.File;
public class VideoPlayer extends Application {
private static final String VIDEO_FILE_PATH = "path/to/your/video/file.mp4";@Override
public void start(Stage primaryStage) {
// 创建媒体播放器
Media media = new Media(new File(VIDEO_FILE_PATH).toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);// 创建媒体视图
MediaView mediaView = new MediaView(mediaPlayer);// 创建根布局
BorderPane root = new BorderPane();
root.setCenter(mediaView);// 创建场景
Scene scene = new Scene(root, 800, 600);// 设置舞台
primaryStage.setScene(scene);
primaryStage.setTitle("Video Player");
primaryStage.show();
}public static void main(String[] args) {
launch(args);
}
}import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Slider;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;import java.io.File;
public class VideoPlayer extends Application {
private static final String VIDEO_FILE_PATH = "path/to/your/video/file.mp4";@Override
public void start(Stage primaryStage) {
// 创建媒体播放器
Media media = new Media(new File(VIDEO_FILE_PATH).toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);// 创建媒体视图
MediaView mediaView = new MediaView(mediaPlayer);// 创建控制按钮
Button playButton = new Button("播放");
Button pauseButton = new Button("暂停");
Button stopButton = new Button("停止");// 播放按钮点击事件
playButton.setOnAction(event -> mediaPlayer.play());// 暂停按钮点击事件
pauseButton.setOnAction(event -> mediaPlayer.pause());// 停止按钮点击事件
stopButton.setOnAction(event -> mediaPlayer.stop());// 创建音量调节滑块
Slider volumeSlider = new Slider(0, 1, 0.5);
volumeSlider.setPrefWidth(100);
mediaPlayer.volumeProperty().bind(volumeSlider.valueProperty());// 创建按钮布局
HBox buttonBox = new HBox(10);
buttonBox.setAlignment(Pos.CENTER);
buttonBox.getChildren().addAll(playButton, pauseButton, stopButton);// 创建根布局
BorderPane root = new BorderPane();
root.setCenter(mediaView);
root.setBottom(buttonBox);
root.setTop(volumeSlider);// 创建场景
Scene scene = new Scene(root, 800, 600);// 设置舞台
primaryStage.setScene(scene);
primaryStage.setTitle("Video Player");
primaryStage.show();
}public static void main(String[] args) {
launch(args);
}
}
在示例代码中,我们创建了一个`VideoPlayer`类,它继承自`Application`类。在`start`方法中,我们首先创建一个`Media`对象,将视频文件路径传递给它。然后,我们使用`MediaPlayer`类来创建一个媒体播放器,并将媒体对象传递给它。我们还将`autoPlay`属性设置为`true`,以使视频自动播放。
接下来,我们创建一个`MediaView`对象,并将媒体播放器传递给它。然后,我们创建一个`BorderPane`作为根布局,并将媒体视图设置为中心内容。最后,我们创建一个`Scene`对象,将根布局作为参数传递,并设置舞台的标题和大小。
在`main`方法中,我们调用`launch`方法来启动JavaFX应用程序。
请记得将"path/to/your/video/file.mp4"替换为自己的视频文件的路径。
通过运行这段代码,将会创建一个简单的视频播放器窗口,并自动播放指定路径的视频文件。可以根据需要添加控制按钮、音量调节等其他功能。