温馨提示×

java窗体添加音乐的方法是什么

小亿
113
2023-08-07 10:07:42
栏目: 编程语言

在Java窗体中添加音乐可以使用javax.sound包中的类来实现。以下是一个简单的示例代码:

import javax.swing.*;
import java.awt.*;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
public class MusicPlayer extends JFrame {
private JButton playButton;
private JButton stopButton;
private Clip clip;
public MusicPlayer() {
// 设置窗体属性
setTitle("音乐播放器");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
// 创建按钮
playButton = new JButton("播放");
stopButton = new JButton("停止");
// 添加按钮点击事件
playButton.addActionListener(e -> playMusic());
stopButton.addActionListener(e -> stopMusic());
// 添加按钮到窗体
setLayout(new FlowLayout());
add(playButton);
add(stopButton);
// 加载音乐文件
try {
clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(getClass().getResource("music.wav")));
} catch (Exception e) {
e.printStackTrace();
}
}
private void playMusic() {
if (!clip.isRunning()) {
clip.start();
}
}
private void stopMusic() {
if (clip.isRunning()) {
clip.stop();
clip.setFramePosition(0);
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
MusicPlayer musicPlayer = new MusicPlayer();
musicPlayer.setVisible(true);
});
}
}

在上述示例代码中,首先创建一个JFrame窗体,然后添加两个按钮用于播放和停止音乐。在playMusic方法中,调用clip.start()来播放音乐,而在stopMusic方法中,调用clip.stop()来停止音乐播放,并使用clip.setFramePosition(0)将音乐播放位置重置为起始位置。音乐文件music.wav需要放在与Java源代码相同的目录下。然后通过SwingUtilities.invokeLater()方法来在事件调度线程中创建并显示窗体。

0