问题描述
我正在使用 HTML5 中的 WebAudio。我正在与一个开发团队合作。我们在循环 MP3 文件时遇到问题。这些文件以 MP3 格式创作并无间隙打印。
我在循环播放过程中仍然有轻微的颠簸。
MediaElements 会缓冲到 RAM 中吗?我想知道 AudioBuffer 源节点在循环时的行为是否与 MediaElement 节点不同。
我找对地方了吗?
我感谢任何见解。
解决方法
AudioBuffer 循环对于单个样本应该是完美的,而 MediaElements 可能会在循环过程中引入间隙。
MP3 曲目的无缝循环也很困难,但并非不可能。 MP3 文件包含一个额外的填充,由解码器解码为音频数据。我会推荐这两个选项之一来解决填充:
-
使用特殊软件准备无缝 MP3 循环。您可以在此处阅读更多相关信息:https://www.compuphase.com/mp3/mp3loops.htm
-
切换到不同的格式:AAC(在所有浏览器中得到最佳支持,但仍可能存在一些 padding 问题,可以克服)、OPUS、OGG。在此处阅读更多信息:https://en.wikipedia.org/wiki/Gapless_playback#Prerequisites