2014-01-12 66 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类中。 看看它 - 也许还有一个暂停()和停止()函数。

相关问题