java制作简易播放器
时间: 2023-11-11 19:05:40 浏览: 75
要制作简易播放器,您可以使用 Java 的 Swing GUI 库和 JavaFX 媒体库。以下是一个简单的播放器示例,它支持播放本地视频文件:
```java
import javafx.application.Application;
import javafx.embed.swing.JFXPanel;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
public class SimplePlayer extends JFrame {
private JFXPanel fxPanel;
private MediaPlayer mediaPlayer;
public SimplePlayer(String title) {
super(title);
// Setup UI
JPanel mainPanel = new JPanel(new BorderLayout());
// Create media player
fxPanel = new JFXPanel();
mainPanel.add(fxPanel, BorderLayout.CENTER);
// Create open button
JButton openButton = new JButton("Open");
openButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showOpenDialog(SimplePlayer.this);
if (result == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
playMedia(file.toURI().toString());
}
}
});
mainPanel.add(openButton, BorderLayout.SOUTH);
// Add main panel to frame
setContentPane(mainPanel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(640, 480);
setVisible(true);
}
private void playMedia(String mediaUrl) {
// Create media player
Media media = new Media(mediaUrl);
mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);
mediaPlayer.setOnReady(new Runnable() {
@Override
public void run() {
// Set media player as the content of the JFXPanel
fxPanel.setScene(new javafx.scene.Scene(mediaPlayer));
}
});
}
public static void main(String[] args) {
// Initialize JavaFX
new JFXPanel();
// Create and show the player
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new SimplePlayer("Simple Player");
}
});
}
}
```
这个示例中,使用 Swing 实现了一个简单的 UI,包含一个用于打开视频文件的按钮。当用户选择一个文件并单击“Open”按钮时,程序会使用 JavaFX MediaPlayer 播放视频。注意,为了在 Swing 中使用 JavaFX 媒体库,需要使用 JFXPanel 类来嵌入 JavaFX 组件。
阅读全文