ゲームで Clips を使用します。クリップは正常に再生されますが、いくつかの「ショット」の後、次の問題が発生します
スレッド「PulseAudio Eventloop Thread」の例外 java.lang.IllegalStateException: org.classpath.icedtea.pulseaudio.EventLoop.native_iterate(Native Method) at org.classpath.icedtea.pulseaudio.EventLoop.run(EventLoop.java:133) でドレインに失敗しました) java.lang.Thread.run(Thread.java:724) で
私のコード:
public static Clip[] sounds;
...
sounds = new Clip[3];
sounds[0] = getClip("gun.wav");
sounds[1] = getClip("click.wav");
sounds[2] = getClip("over.wav");
...
private void playSound(Clip clp) {
final Clip clip = clp;
Runnable soundPlayer = new Runnable() {
@Override
public void run() {
try {
if(clip.isActive() || clip.isRunning()) clip.stop();
clip.setMicrosecondPosition(0);
clip.start();
} catch (Exception e) {
e.printStackTrace();
}
}
};
new Thread(soundPlayer).start();
}
public void shoot() { //runs when space is clicked
if(canShoot) playSound(sounds[0]);
}