我有一个非常具体的问题。我正在创建一个游戏,并希望它播放一些音乐。 现在,当我按下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时,我希望声音停止播放。 我已经试着创建一个布尔,他说是否正在播放音乐。 但那也失败了。
如果有人知道如何解决这个问题会很高兴。
答案 0 :(得分:1)
您的PlaySound变量pl是此代码块的本地变量,因此对于程序的其余部分是不可见的。您希望将此字段设为类字段,该字段将在其他方法中可见。这样,如果您想要停止声音,可以在其他地方调用pl.stop()
(或其他任何需要的方法)。
请注意,我不熟悉PlaySound
课程,因此无法就此提出具体建议。
另外,您的代码看起来像Swing代码,如果是这样,您将需要在GUI背景的线程上播放您的声音。否则,您可能会在播放声音时锁定GUI。