我正在记录用户的麦克风输入并进行处理。问题是我正在使用scriptProcessorNode处理数据,但是here表示已弃用并替换为AudioWorklet。问题是没有明确的方法可以用AudioWorklet替换此功能,而且Google的所有example projects with AudioWorklets都没有用麦克风输入做任何事情。有没有办法用Audio Worklet替换此代码?这是“应”被替换的代码。
// Connect analyser
this.options.source.connect(this.analyser);
// Create ScriptProcessorNode
this.scriptProcessorNode = this.options.context.createScriptProcessor(this.options.bufferLen, numChannels, numChannels);
// Connect scriptProcessorNode (Theretically, not required)
this.scriptProcessorNode.connect(this.options.context.destination);
// Create callback to update/analyze floatFrequencyData
var self = this;
this.scriptProcessorNode.onaudioprocess = function (event) {
self.analyser.getFloatFrequencyData(self.floatFrequencyData);
self.update();
self.store(event);
self.monitor();
};
// Connect scriptProcessorNode
this.options.source.connect(this.scriptProcessorNode);
答案 0 :(得分:2)
我有一个创建AudioWorkletProcessor的简单示例。您可以here对其进行检查。它仅适用于Chromium,而Firefox尚不支持AudioWorklet。
这是我准备显示我遇到的webpack错误的示例,因此请仅检查源代码。如果您运行该项目,除非您在audio-meter.js的第8行注释掉并且在第11行取消注释,否则该项目将失败。文件audio-meter.worker.js将重复相同的内容。