2014-01-12 98 views
-1

我已經創建了一個可以播放歌曲的程序,但是我無法讓它暫停/停止,當我再次單擊播放按鈕時,歌曲會一遍又一遍地循環播放。我怎樣才能讓歌曲暫停或停止?如何暫停/停止正在播放的歌曲?

這裏是我下面的源代碼,以播放歌曲:

public void sound(String nm) { 
    AudioStream BGM; //Backround Music 

    try { 
     InputStream test = new FileInputStream("./"+nm+".wav"); 
     BGM = new AudioStream(test); 

     AudioPlayer.player.start(BGM); 

    } 
    catch (IOException error) { 
      JOptionPane.showMessageDialog(null, error.getMessage()); 
    } 
} 
+0

什麼播放按鈕?代碼中沒有UI元素。 –

+0

我會閱讀'AudioPlayer.player'類的文檔。我們不知道它是什麼類,所以我們無法幫助。 –

+1

爲了更快地獲得更好的幫助,請發佈[MCVE](http://stackoverflow.com/help/mcve)。根據以往的經驗,我猜'AudioPlayer'是在'sun.com'軟件包中?它們沒有記錄,不能依賴於非Oracle JRE,甚至是下一版本的Oracle JRE。 **不要使用它們**而是使用基於Java Sound的['Clip'](http://docs.oracle.com/javase/7/docs/api/javax/sound/sampled/Clip.html)發揮短的聲音。請參閱[信息。頁面](http://stackoverflow.com/tags/javasound/info)爲一個簡短的例子。檢查Java文檔中的「Clip」(在之前的評論中已經鏈接)瞭解如何停止它。 –

回答

0

我猜你正在使用this example,這是使用sun.audio *命名空間。

正如您從source code所看到的那樣,如果您想停止,則可以使用AudioPlayer.player.stop(BGM);,它與您用於播放的參數具有相同的參考。

0

您的回答可能是在AudioPlayer類中。 看看它 - 也許還有一個暫停()和停止()函數。

相關問題