使用 Web Audio API 或其他任何方式消除前端的静音

2023-12-31

我正在尝试在将浏览器中记录的音频文件发送到服务器存储之前修剪其前导和尾随静音。

我一直在寻找示例来更好地理解 WebAudioApi,但示例很分散,并且涵盖了像“ScriptProcessorNode”这样的废弃方法,当我发现这个示例时,我以为我已经很接近了

HTML 音频录音直到静音? https://stackoverflow.com/questions/24515978/html-audio-recording-until-silence

我渴望看到至少能够处理静音,我想我可以用它来进行后续修剪。然而,在沙箱中加载示例后,它似乎没有以我可以理解的方式检测静音。

如果有人有任何帮助或建议,将不胜感激!


While ScriptProcessorNode已被弃用,并且不会很快消失。你应该使用AudioWorkletNode如果可以的话(但并非所有浏览器都支持)。

但是由于您在文件中有录制的音频,我会使用它来解码它decodeAudioData得到一个AudioBuffer。然后使用getChannelData(n)得到一个Float32Array为了n第一个频道。分析该数组,但是您想要确定开头的沉默结束的位置以及结尾的沉默开始的位置。对每个都执行此操作n.

现在您知道非静音部分在哪里了。 WebAudio 无法对此音频进行编码,因此您要么必须自己进行编码,要么可能会得到MediaRecorder对此进行编码,以便您可以将其发送到您的服务器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Web Audio API 或其他任何方式消除前端的静音 的相关文章

随机推荐