我有一个用Sound类加载的ogg文件。我将它设置为循环并且运行正常,但是当它再次开始播放时我听到了一声咔嗒声。声音只有7秒钟。
有没有办法解决这个问题,因为它很烦人?
答案 0 :(得分:2)
毫无疑问,起始时刻和结束时刻之间的信号存在很大的不连续性。使用Java Clip构建它时,没有办法抵消我所知道的。
我建议在像Audacity这样的声音中编辑声音,试着让两端更相似。最简单的躲闪就是让两端逐渐变细以保持沉默 - 但这会留下一个空隙。
另一种可能性是编写自己的剪辑并添加允许两个边缘重叠程度的规定。然后,您可以在Audacity中添加锥度并使锥形部分重叠。这类似于在DAW中完成音频编辑("拼接")。
虽然这有点工作!我已经完成了这项工作并且确实运行良好,但距离发布我的音频库还有一三个月的时间。要自己编程,将字节读入数组,转换为PCM。然后,您可以使用TargetDataLine作为允许读取渐进数据的接口示例(它是过度杀伤,但read()方法是关键)。在您的阅读中,您可以在重叠点处启动PCM数据的LERP(线性插值)。
如果出现另一种处理此问题的方法,我将很乐意了解它!