Java Ogg音频文件在循环时单击-LIBGDX

Java Ogg音频文件在循环时单击-LIBGDX,java,libgdx,javasound,Java,Libgdx,Javasound,我有一个加载了Sound类的ogg文件。我将它设置为循环,它运行正常,但当它再次开始播放时,我听到了咔哒声。这声音只有7秒长 有没有办法解决这个问题,因为它很烦人?毫无疑问,在开始时刻和结束时刻之间的信号有很大的不连续性。就我所知,在构建Java片段时,没有任何方法可以抵消这一点 我建议用Audacity之类的方式编辑声音,使两端更加相似。最简单的闪避方法是两端逐渐变细至静音,但这样会留下一个间隙 另一种可能是编写您自己的剪辑,并添加一个允许两条边有一定程度重叠的规定。然后,可以在Audacit

我有一个加载了Sound类的ogg文件。我将它设置为循环,它运行正常,但当它再次开始播放时,我听到了咔哒声。这声音只有7秒长


有没有办法解决这个问题,因为它很烦人?

毫无疑问,在开始时刻和结束时刻之间的信号有很大的不连续性。就我所知,在构建Java片段时,没有任何方法可以抵消这一点

我建议用Audacity之类的方式编辑声音,使两端更加相似。最简单的闪避方法是两端逐渐变细至静音,但这样会留下一个间隙

另一种可能是编写您自己的剪辑,并添加一个允许两条边有一定程度重叠的规定。然后,可以在Audacity中添加锥度,并使锥度部分重叠。这类似于在DAW中进行音频编辑(“拼接”)的方式

这是一点工作,虽然!我已经做到了,而且效果不错,但离发布我的音频库还有一到三个月的时间。要自己编程,请将字节读入数组,转换为PCM。然后,您可以使用TargetDataLine作为允许读取渐进式数据的接口示例(这有些过分,但read()方法是关键)。在读取过程中,为在重叠点开始PCM数据的LERP(线性插值)做准备

如果有其他方法来处理这个问题,我会很高兴地了解它