我正在制作一个视频游戏,我已经开始实现它的声音,我的所有声音都是.wav文件,都是8位 . (示例声音https://ufile.io/ipbz2) .

现在我面临的问题是,在Mac OSX上播放声音(最后)时会出现奇怪的砰砰声 .

我的示例代码

public static void playSound() throws Exception {
    final Clip clip = (Clip)AudioSystem.getLine(new Line.Info(Clip.class));
    clip.open(AudioSystem.getAudioInputStream(new File("/Users/Phil/Desktop/2393.wav")));
    clip.start();

    // Sleep for 5 sec so it plays the sound.
    Thread.sleep(5000);
}

我已经尝试过的事情

  • 在Java JDK 1.6上运行代码 . 工作正常,但我的整个项目不符合,我也尝试制作一个外部库(.jar)并使用jdk 1.6导出它但是一旦我在我的客户端使用该库它就开始切断了 .

  • 播放声音并切断最后10ms . 这个解决方案似乎没问题但是当我开始播放很多声音时,突然出现的噪音又开始了 .

  • 使用在线工具将wav从8位转换为16位,这个解决方案似乎可行,但我的文件大小从25kb变为100kb,当我有1000个声音文件时效果不是很好 .

如果您有任何建议我可以尝试,请告诉我!我愿意尝试很多!