JavaScript-未捕获的TypeError:无法设置未定义的属性
我不断得到未捕获的TypeError:无法设置未定义的属性“onaudioprocess” at(索引):144。每次我使用setTimeout时都会出现错误JavaScript-未捕获的TypeError:无法设置未定义的属性,javascript,html,Javascript,Html,我不断得到未捕获的TypeError:无法设置未定义的属性“onaudioprocess” at(索引):144。每次我使用setTimeout时都会出现错误 setTimeout(function(){ setupAudioNodes(); loadSound("lecture10.mp3"); }, 3000); javascriptNode.onaudioprocess = function() { //get input as web param. va
setTimeout(function(){
setupAudioNodes();
loadSound("lecture10.mp3");
}, 3000);
javascriptNode.onaudioprocess = function() {
//get input as web param.
var param = window.location.search.substring(1);
//console.log(param);
var res = param.split("%20");
// get the average for the first channel
var array = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(array);
var average = getAverageVolume(array);
if(average < 25.0){
if(n > res.length-1){return;}
console.log("First Channel : " + average);
console.log(context.currentTime);
//document.write(parseInt(context.currentTime));
document.write(res[n++] + " ");
//document.getElementById('title').innerHTML = "ssss " ;
}
}
setTimeout(函数(){
setupAudioNodes();
loadSound(“讲师10.mp3”);
}, 3000);
javascriptNode.onaudioprocess=function(){
//以web参数的形式获取输入。
var param=window.location.search.substring(1);
//控制台日志(param);
var res=参数拆分(“%20”);
//获取第一个通道的平均值
var阵列=新UINT8阵列(分析仪频率BINCOUNT);
分析仪。GetByTefFrequencyData(阵列);
var average=getAverageVolume(数组);
如果(平均值<25.0){
如果(n>res.length-1){return;}
console.log(“第一个通道:+平均值);
console.log(context.currentTime);
//write(parseInt(context.currentTime));
document.write(res[n++]+“”);
//document.getElementById('title').innerHTML=“ssss”;
}
}
我认为您可能正在setupAudioNodes()中定义javascriptNode[意味着该节点仅在超时时间3秒后可用,直到未定义该时间节点],如果是这样,在setupAudioNodes()中移动以下行应该可以解决此问题
javascriptNode.onaudioprocess = function() { //... }
javascriptNode
您在哪里获得这个DOM?您在哪里定义javascriptNode
?因为javascriptNode
是未定义的!