【发布时间】:2020-12-26 21:52:59
【问题描述】:
我很新,不知道如何在其他课程中停止我的音乐。我的想法是,我按下一个按钮,音乐就会停止。
public class Musik {
public static synchronized void music(String song) {
final String songname= song;
new Thread(new Runnable() {
@Override
public void run() {
while (true){
try{
Clip clip = AudioSystem.getClip();
AudioInputStream input=AudioSystem.getAudioInputStream(new File(songname));
clip.open(input);
clip.loop(clip.LOOP_CONTINUOUSLY);
Thread.sleep(clip.getMicrosecondLength()/1000);
}catch (Exception e){
e.printStackTrace();
}
}
}
}).start();
}
}
我想要音乐停止的按钮,但我没有任何线索。 stop();、close(); 或类似的东西根本不起作用。
public void actionPerformed(ActionEvent e){
if (button==e.getSource()){
//Musik.close(); doesnt work
}
【问题讨论】:
-
您需要将
Clip的定义放在music方法之外。或者将线程分配给一个变量并杀死它。
标签: java javafx audio-player background-music