在Java swing中,如何播放mp3音乐,并支持暂停?
时间: 2023-06-25 22:06:57 浏览: 57
在 Swing中,可以使用JavaFX库来播放音频文件。以下是一个简单的示例代码,可以播放MP3音乐并支持暂停:
```java
import javafx.embed.swing.JFXPanel;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javax.swing.*;
import java.awt.*;
import java.io.File;
public class MusicPlayer extends JFrame {
private MediaPlayer mediaPlayer;
private JButton playButton, pauseButton;
public MusicPlayer(String filePath) {
super("Music Player");
// Initialize JavaFX
new JFXPanel();
// Create media player
Media media = new Media(new File(filePath).toURI().toString());
mediaPlayer = new MediaPlayer(media);
// Create buttons
playButton = new JButton("Play");
pauseButton = new JButton("Pause");
// Add button listeners
playButton.addActionListener(e -> {
mediaPlayer.play();
playButton.setEnabled(false);
pauseButton.setEnabled(true);
});
pauseButton.addActionListener(e -> {
mediaPlayer.pause();
playButton.setEnabled(true);
pauseButton.setEnabled(false);
});
// Disable pause button initially
pauseButton.setEnabled(false);
// Add buttons to frame
JPanel buttonPanel = new JPanel(new FlowLayout());
buttonPanel.add(playButton);
buttonPanel.add(pauseButton);
add(buttonPanel, BorderLayout.SOUTH);
// Set frame properties
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300, 100);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new MusicPlayer("path/to/music.mp3");
}
}
```
在此示例中,我们使用`MediaPlayer`类来创建一个媒体播放器,并使用`Media`类来表示要播放的音频文件。我们创建了两个按钮,一个用于播放音乐,另一个用于暂停音乐。当用户按下播放按钮时,媒体播放器开始播放音乐并禁用播放按钮,启用暂停按钮。当用户按下暂停按钮时,媒体播放器暂停音乐并禁用暂停按钮,启用播放按钮。最后,我们将这些按钮添加到Swing框架中的一个面板中,并将该面板添加到主窗口中。