gpt4 book ai didi

java - 在Java中使用AudioClip会使程序严重卡住?

转载 作者:太空宇宙 更新时间:2023-11-04 14:51:47 25 4
gpt4 key购买 nike

我没有任何代码要特别显示链接,因为这是一个相当普遍的问题...你看,我制作了一个带有 8 个 AudioClip 变量的小游戏小程序,并且这些变量应该在每次特定时播放用户已采取操作。例如:玩家点击 = 播放射击声音。问题是,当我添加这些 AudioClip 文件时,我的程序就会严重卡住,如果卡住特别严重,就会变得无法播放。

我这样做的简单方法在这里(实际上是从书中)

AudioClip playerShooting;

playerShooting=getAudioClip(getDocumentBase(),"PlayerShooting.wav");

然后,每当用户单击时,我就会使用以下内容:

playerShooting.play(): 

在添加这些 wav 文件之前,我的程序运行顺利。它们甚至没有那么长。我在这里哪里出错了,如何消除随机卡住?

编辑:

这是我正在运行的代码:

public void mouseClicked(MouseEvent e)
{
if(playerAlive)
{
timeShotsAfter=System.currentTimeMillis();

if((timeShotsAfter-timeShotsBefore)>=100)
{
if(shotIndex<10)
{
playerShooting(); //Here is where I call the function
shotFiredX[shotIndex]=currentX;
shotFiredY[shotIndex]=currentY;
shotSize[shotIndex]=20;
}

if(shotIndex<10)
shotIndex++;
else
shotIndex=0;

timeShotsBefore=System.currentTimeMillis();
}
else{}

toggleShooting=false;
}
}

这是函数:

public void playerShooting()
{
new Thread(
new Runnable() {
public void run() {
try {
playerShooting.play();
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}

最佳答案

不久前我也遇到了同样的问题。为了解决我的问题,我所做的就是更新到 JDK 8。在以前的 JDK 版本中,音频文件似乎是事后才想到的,并且可能存在错误。如果您仍然遇到问题,JDK 8 可以播放比 wav 小得多的 mp3 文件(您可能想尝试一下)。确保在剪辑完成后使用 sound.stop(),因为这可能会释放一些内存。

关于java - 在Java中使用AudioClip会使程序严重卡住?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23678157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com