【问题标题】:How to smooth Sound effect looping in LibGdx?如何平滑 LibGdx 中的音效循环?
【发布时间】:2014-02-05 16:24:01
【问题描述】:

我正在使用 LibGdx 中的声音接口播放 mp3 音频文件。 And when choose to loop playing the sound more than one time using sound.loop(); it works but with small silent period of time every time the sound replayed.那么有没有什么办法可以摆脱这种无声期或者播放音效比我用的更流畅呢?

这是我的代码:

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

【问题讨论】:

  • 只是为了确定:您的声音是否支持循环播放,这意味着结尾没有静默期(许多声音都有)并且结尾与开头相同,因此您听不到“从头跳到头。
  • 我遇到了完全相同的问题,为了澄清,我使用的是一个支持循环的 .mp3 文件(开头和结尾都没有)。将其设为 .wav 会将大小从 850kb 增加到近 9mb,所以我猜这对我来说也不是一个选择。
  • 仅供参考,我使用ogg 文件并没有遇到此问题(解码/开始/结束间隙)。

标签: libgdx


【解决方案1】:

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

奇怪的是,libgdx 允许您设置轨道是否循环播放,但在轨道快结束时不缓冲轨道的开始。

我的回答是快速解决小音效,因为我也遇到了同样的问题,除了一段循环音乐。将其设为 WAV 会占用太多空间。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-26
        • 1970-01-01
        • 1970-01-01
        • 2019-06-21
        • 1970-01-01
        • 2013-01-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多