如何在Java中快速连续地发出声音?
因此,请提供一点背景信息: 我正在制作一个自上而下的僵尸波生存游戏,并且一直在使用javax.sound.sampled中的Java剪辑,我可以毫不费力地加载和播放声音,但在我的游戏中有自动武器,它们需要以相当快的速度反复播放相同的声音。当前,每个枪对象持有一个剪辑场,该剪辑场被停止,设置为第0帧,并在每次枪开火时播放。这导致一些枪的发射速度如此之快,甚至听不到声音。我想我可以通过每次播放声音时创建一个新的剪辑来解决这个问题,但这是最有效的解决方案吗?Java Sound API中是否还有其他东西可以让我轻松做到这一点?非常感谢你的帮助如何在Java中快速连续地发出声音?,java,audio,Java,Audio,因此,请提供一点背景信息: 我正在制作一个自上而下的僵尸波生存游戏,并且一直在使用javax.sound.sampled中的Java剪辑,我可以毫不费力地加载和播放声音,但在我的游戏中有自动武器,它们需要以相当快的速度反复播放相同的声音。当前,每个枪对象持有一个剪辑场,该剪辑场被停止,设置为第0帧,并在每次枪开火时播放。这导致一些枪的发射速度如此之快,甚至听不到声音。我想我可以通过每次播放声音时创建一个新的剪辑来解决这个问题,但这是最有效的解决方案吗?Java Sound API中是否还有其他东
编辑:我被告知要添加这些信息,循环播放声音不能作为解决方案,因为它会完全播放声音,然后再播放,但声音本身比两次发射之间的时间长,因此每个声音都需要一些重叠。使用固定的剪辑阵列,尺寸应根据实验得出。我们还将保留正在播放的最新声音的索引
当枪发射时,增加索引(环绕),停止并开始阵列中的下一个剪辑。(我们需要停止剪辑,以防剪辑太长且仍在播放)。使用固定的剪辑数组,大小应根据实验得出。我们还将保留正在播放的最新声音的索引
当枪发射时,增加索引(环绕),停止并开始阵列中的下一个剪辑。(我们需要停止剪辑,以防剪辑太长而仍在播放)。我看到,它会完全播放声音,然后再播放,但声音本身比两次发射之间的时间长,所以每个声音都需要有一些重叠。你能把它添加到你的问题中,这样问题就更清楚了吗?至于解决方案,也许你可以有一个剪辑数组(一个固定的数组,但数字应该来自实验),这样当枪发射时,你就可以停止并开始数组中的下一个(环绕)剪辑。是的,成功了,你能把它附加到你的答案中,这样我就可以接受它吗?正如你所知,阵列中的4个片段对我最快的枪都有效。编辑后只包含答案。我已经看到,它会完全播放声音,然后再次播放,但声音本身比两次发射之间的时间长,所以每个声音都需要有一些重叠。你能把它添加到你的问题中,这样问题就更清楚了吗?至于解决方案,也许你可以有一个剪辑数组(一个固定的数组,但数字应该来自实验),这样当枪发射时,你就可以停止并开始数组中的下一个(环绕)剪辑。是的,成功了,你能把它附加到你的答案中,这样我就可以接受它吗?正如你所知道的,阵列中的4个剪辑甚至适用于我最快的枪。编辑为只包含答案。