停止使用Java播放声音

时间:2013-10-12 15:37:40

标签: java audio key

我有一个非常具体的问题。我正在创建一个游戏,并希望它播放一些音乐。 现在,当我按下X时,音乐开始了。

if (keyCode == KeyEvent.VK_X) {
        PlaySound pl = new PlaySound(//Play testsound
                new File(
                        "C:\\Users\\Desktop\\Projekt MC\\Musik\\WAV\\dungeontest.wav"));
        pl.start();

当我再次按X时,我希望声音停止播放。 我已经试着创建一个布尔,他说是否正在播放音乐。 但那也失败了。

如果有人知道如何解决这个问题会很高兴。

1 个答案:

答案 0 :(得分:1)

您的PlaySound变量pl是此代码块的本地变量,因此对于程序的其余部分是不可见的。您希望将此字段设为类字段,该字段将在其他方法中可见。这样,如果您想要停止声音,可以在其他地方调用pl.stop()(或其他任何需要的方法)。

请注意,我不熟悉PlaySound课程,因此无法就此提出具体建议。


另外,您的代码看起来像Swing代码,如果是这样,您将需要在GUI背景的线程上播放您的声音。否则,您可能会在播放声音时锁定GUI。