停止另一节课的音乐?

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

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

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

  1. public class Musik {
  2. public static synchronized void music(String song) {
  3. final String songname= song;
  4. new Thread(new Runnable() {
  5. @Override
  6. public void run() {
  7. while (true){
  8. try{
  9. Clip clip = AudioSystem.getClip();
  10. AudioInputStream input=AudioSystem.getAudioInputStream(new File(songname));
  11. clip.open(input);
  12. clip.loop(clip.LOOP_CONTINUOUSLY);
  13. Thread.sleep(clip.getMicrosecondLength()/1000);
  14. }catch (Exception e){
  15. e.printStackTrace();
  16. }
  17. }
  18. }
  19. }).start();
  20. }
  21. }

我想按一下音乐停止的按钮,但我没有任何线索。 stop(); , close(); 或者类似的东西根本不起作用。

  1. public void actionPerformed(ActionEvent e){
  2. if (button==e.getSource()){
  3. //Musik.close(); doesnt work
  4. }
scyqe7ek

scyqe7ek1#

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

相关问题