0

我有一个 JS webaudio AudioBuffer,我使用 3rd 方代码将其转换为 WAV,WAV 的长度/大小始终至少是 AudioBuffer 大小的两倍。当我处理长时间的音频(多 MB)时,这是一个潜在的问题。

我的 AudioBuffer 是单声道(单声道),我已经确认我正在创建单声道 WAV(其中库创建立体声 WAV,文件大小为 4 倍)。我尝试使用多种解决方案进行转换,但无法获得与 AudioBuffer 相同大小的 WAV 文件。我试过Crunkeraudiobuffer-to-wav这篇文章。使用 audiobuffer-to-wav 我尝试了 16 位 (2x) 和 32 位 (4x)。

也许这是不可能的,并且由于音频数据格式。但理想情况下,我可以获得与 AudioBuffer 相同文件大小的 WAV,甚至更好的压缩 MP3。

作为上下文,我将 WAV 输入到 HTML 音频元素中。我意识到我可以使用 Web Audio 直接播放音频,但有理由使用 HTML 音频元素。谢谢你的帮助!

4

1 回答 1

0

您获得的 AudioBuffer 大小可能以样本为单位,当您将它们转换为 WAV 时,它们是 16 位或 32 位。如果您可以获得 8 位输出,则长度将匹配(但质量不会很好)。

于 2021-05-06T02:24:21.813 回答