停止另一节课的音乐?

o75abkj4  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(270)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

13天前关门了。
改进这个问题
我是新来的,不知道如何在另一节课上停止我的音乐。我的想法是我按下一个按钮,音乐就会停止。

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
    }
scyqe7ek

scyqe7ek1#

可以将布尔值实现为标志。而不是while(true),创建一个可能称为isplaying的布尔值。在播放的同时制作。创建一个将布尔值设置为false的函数close

相关问题