javax.sound.sampled.Clips
我想在我的 Java 小程序中加载到数组中的两个音频剪辑之间平滑过渡。目前我停止一个剪辑并开始下一个剪辑,但由于音频突然停止和开始,这会产生可听见的咔嗒声。我需要使用 Clip 界面,以便我可以在保持相同轨道位置的剪辑之间进行循环和转换。
我曾尝试在停止一个剪辑之前降低增益,然后在我开始下一个剪辑时使用FloatControl.Type.MASTER_GAIN
. 如果我想快速改变增益,这需要刷新缓冲区,即使如此,如果我试图太快地改变增益,我也会出现点击和口吃。加上刷新缓冲区需要我停止并重新启动剪辑以取回已刷新的缓冲区(因此我不会向前跳过已刷新的部分),这会引入我试图摆脱的相同点击。
有没有人有快速改变增益的经验(在 200 毫秒内),比如从 0dB 到 -60dB。我在想我可能不得不降低到缓冲区级别并开始直接操作这些位,但我不知道如何从 Clip 界面进行操作。
有什么建议么?