2013-10-22 79 views
1

我在屏蔽聲音或音樂時遇到了一些問題 當然,我確實讓聲音靜音了,但已經運行的聲音或音樂循環 沒有靜音!屏蔽聲音問題

代碼:

public static void playSound(String path, int loop) { 
    try { 
     if (isSoundEnabled) { 
      AudioInputStream audioIn = AudioSystem.getAudioInputStream(Main.class.getResource(path)); 
      Clip clip = AudioSystem.getClip(); 
      clip.open(audioIn); 
      clip.start(); 
      clip.loop(loop); 
     } 
    } catch (Exception e) { 
     System.err.println("Error: " + e.getMessage()); 
     isSoundEnabled = false; 
    } 
} 

這防止新的聲音被播放,但不會停止已經播放或循環還是老的聲音。

+0

你的問題對我沒有意義,請澄清一下.. !! – CRazyProgrammer

+0

這意味着如果我靜音,它不會添加一個新的聲音播放,但舊的聲音已經播放或循環不會停止 – HansFrank

+1

你是如何停止舊的聲音?我在你的節目中看到的是,它只是從聲源中播放聲音並播放它?我沒有看到任何停止方法。你在按某種按鈕嗎?如果你是,我可以看到你的動作執行該按鈕的方法 – CRazyProgrammer

回答

2

我沒有看到任何動作執行的方法,所以我從一開始就解釋它。

  1. 檢查這個環節出去, Get sound on button press

一次,你有聲音播放,現在你需要通過添加停止到正在播放的相同的動作監聽的方法停止聲音聲音,或者您可以創建另一個按鈕來停止當前播放的聲音。

  1. 檢查這個環節出了Stop music clip in java

  2. 檢查這其中也Another method to stop the sound

如果您對所有環節的任何其他問題,請隨時來問我..!