【发布时间】:2016-10-20 11:57:47
【问题描述】:
我一直在尝试在 Java 中一次播放多个声音,一次播放 1 个声音没有问题,但如果我尝试一次播放 3 个声音,它只会播放 1 个声音(我希望这是有道理的)
这是我的代码:
public static void play(String file) {
try {
clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(new File(file)));
clip.start();
while (!clip.isRunning())
Thread.sleep(10);
while (clip.isRunning())
Thread.sleep(10);
clip.close();
} catch (Exception e) {
e.printStackTrace();
}
}
我如何使用此方法的示例:
AudioPlayer.play("sound1.wav");
当我也希望能够做到这一点时
AudioPlayer.play("sound1.wav");
AudioPlayer.play("sound2.wav");
AudioPlayer.play("sound3.wav");
同样,这并不重要,但也可以做这样的事情:
AudioPlayer.getPlayingSound("sound1.wav").setVolume(-0.85f);
【问题讨论】:
-
您的
while循环是您的问题的原因。它们的全部目的是防止该方法在声音结束之前返回。