如何平滑LibGdx中的音效循环?

如何平滑LibGdx中的音效循环?,libgdx,Libgdx,我正在使用LibGdx中的声音接口来播放mp3音频文件。当选择使用sound.loop()循环播放声音不止一次时它可以工作,但每次播放声音时,静音时间很短。那么,有没有办法摆脱这种沉默期,或者比我使用的更流畅地播放音效呢 这是我的密码: Sound accelarating_sound1; accelarating_sound1 = Gdx.audio.newSound(Gdx.files.internal("speedUp.mp3")); accelarating_sound1

我正在使用LibGdx中的声音接口来播放mp3音频文件。当选择使用
sound.loop()循环播放声音不止一次时它可以工作,但每次播放声音时,静音时间很短。那么,有没有办法摆脱这种沉默期,或者比我使用的更流畅地播放音效呢

这是我的密码:

Sound accelarating_sound1;
    accelarating_sound1 = Gdx.audio.newSound(Gdx.files.internal("speedUp.mp3"));
    accelarating_sound1.loop(1,f,0);        

MP3文件在开始时有一些解码(?)延迟,使用WAV文件会给你更大的文件大小,但似乎没有这种延迟

奇怪的是,libgdx允许您设置一条轨迹是否正在循环,但当它几乎完成时却不缓冲轨迹的开始


我的答案是小音效的快速修复,因为我也有同样的问题,除了一段循环的音乐。将其设置为WAV将占用太多空间。

声音应仅用于短文件(几秒钟)。如果你的文件比这个长,你应该使用音乐类。

如果有人遇到类似的问题,我也有这个问题,用
.ogg
音乐文件代替
.mp3
解决了这个问题。

Jusst可以肯定的是:你的声音支持循环吗,也就是说结尾没有静音期(很多声音都有这个问题)结束和开始是一样的,所以你不会听到从结束到开始的“跳跃”。我有完全相同的问题,只是为了澄清,我使用了一个支持循环的.mp3文件(开始和结束中没有任何内容)。将其设置为.wav会将大小从850kb增加到几乎9mb,因此我猜这对我来说也不是一个选项。仅供参考,我使用了
ogg
文件,没有遇到这个问题(解码/开始/结束间隙)。