我正在尝试获取麦克风数据的一些实时数据。因此,我将ScriptProcessorNode连接到实时音频的输出,如下所示(咖啡脚本):
audioSource = navigator.getUserMedia({audio:true},(stream)->
source = context.createMediaStreamSource(stream)
analyser = context.createScriptProcessor(1024,1,1)
source.connect(analyser)
analyser.onaudioprocess = (e)->
\\Processing Takes Place here
但是,永远不会调用onaudioprocess函数。我需要怎么做才能使其运行?
最佳答案
如果ScriptProcesser
的onaudioprocess
事件的输出未连接到其他节点,则该事件将不会开始。
您可以选中此fiddle来查看其运行情况。
var scr = context.createScriptProcessor(1024,1,1);
// uncomment the line below and onaudioprocess will start
//scr.connect(context.destination);
scr.onaudioprocess = function(){
console.log('test');
};
只需将
ScriptProcessor
的输出连接到context.destination
或虚拟gain
节点,onaudioprocess
将启动。