我正在尝试从浏览器中记录的音频文件中修剪前导和尾随静音,然后再将其发送到服务器存储。
我一直在寻找示例以更好地理解 WebAudioApi,但是示例分散并涵盖了诸如“ScriptProcessorNode”之类的贬义方法,当我找到这个示例时我认为我已经接近了
我渴望看到至少沉默被处理,我想我可以用它来随后修剪。但是,在沙箱中加载示例后,它似乎并没有以我可以理解的方式检测到静音。
如果有人有任何帮助或建议,将不胜感激!
我正在尝试从浏览器中记录的音频文件中修剪前导和尾随静音,然后再将其发送到服务器存储。
我一直在寻找示例以更好地理解 WebAudioApi,但是示例分散并涵盖了诸如“ScriptProcessorNode”之类的贬义方法,当我找到这个示例时我认为我已经接近了
我渴望看到至少沉默被处理,我想我可以用它来随后修剪。但是,在沙箱中加载示例后,它似乎并没有以我可以理解的方式检测到静音。
如果有人有任何帮助或建议,将不胜感激!
虽然ScriptProcessorNode
已弃用,但它不会很快消失。如果可以,您应该使用AudioWorkletNode
(但并非所有浏览器都支持)。
但是由于您将录制的音频保存在一个文件中,因此我将使用它对其进行解码decodeAudioData
以获取AudioBuffer
. 然后用于getChannelData(n)
获取Float32Array
第n
'th 频道。分析这个数组,但是您想确定开头的静音在哪里结束,结尾的静音从哪里开始。对每个n
.
现在你知道非静音部分在哪里了。WebAudio 无法对此音频进行编码,因此您要么必须进行自己的编码,要么对其进行编码,MediaRecorder
以便将其发送到您的服务器。