しばらくの間、アプレットでサウンドを処理しようとしていますが、さまざまな方法をすべて試す代わりに、Java でサウンドを再生する最良の方法は何ですか? いくつかの要件があります。
- ループできる必要がある
- アーカイブ JAR から WAV をロードできるようにする必要があります (getClass().getResource を使用すると思います)。
- 同時に複数のサウンドを再生できる必要があり、既に再生中のサウンドをクリップしない
私の質問を見てくれてありがとう。皆さんが答えてくれることを願っています!
素晴らしい助けのおかげで、私はほとんどこれで動作しています:
public class MyGame() {
Clip bullet;
public void init(){
try {
bullet = AudioSystem.getClip();
URL url2 = this.getClass().getResource("bulletSound.wav");
AudioInputStream ais2 = AudioSystem.getAudioInputStream( url2 );
bullet.open(ais2);
} catch (LineUnavailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedAudioFileException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
randomMethodToPlayBullet(){
bullet.setFramePosition(0);
bullet.start();
}
}
問題は、弾丸の音が再生されることですが、randomMethodToPlayBullet が連続して 2 回呼び出されると、最初の弾丸の音が鳴る前に、2 番目の音が再生されません。