1

所以一点背景信息:我正在制作一个 Top-Down Zombie-Wave-Survival 游戏,并且一直在使用 javax.sound.sampled 中的 Java 剪辑,我可以毫无困难地加载和播放声音,但在我的游戏中有自动武器,需要以相当快的速度一遍又一遍地播放相同的声音。目前,每个 Gun 对象都包含一个 Clip 字段,该字段会在每次开火时停止,设置在第 0 帧,并播放。考虑到它们开火如此之快,这导致某些枪支甚至听不到声音。我想我可以通过每次必须播放声音时创建一个新剪辑来解决这个问题,但这是最有效的解决方案吗?Java Sound API 中是否还有其他东西可以让我轻松做到这一点?非常感谢您的帮助!

编辑:我被告知要添加此信息,循环声音不会作为解决方案,因为它会完全播放声音然后再次播放,但声音本身比两次发射之间的时间长,所以需要有每个声音都有一些重叠。

4

1 回答 1

1

使用固定的 Clips 数组,大小应由实验得出。我们还将保留正在播放的最新声音的索引

当枪开火时,增加索引(环绕),停止并启动数组中的下一个剪辑。(如果 Clip 太长并且仍在播放,我们需要停止 Clip)。

于 2012-05-30T01:09:41.423 回答