audiocontext读取8次后返回空值
问题描述:
我已经做了一个函数,在被调用4次后会产生一个鼓声,它会停止使用错误:TypeError:null不是一个对象(评估'audioCtx.sampleRate' ) 显示在控制台中。 有什么不对的功能 我的代码是:audiocontext读取8次后返回空值
drum = function(){
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var frameCount = audioCtx.sampleRate/20
var myArrayBuffer = audioCtx.createBuffer(1, frameCount, audioCtx.sampleRate);
var nowBuffering = myArrayBuffer.getChannelData(0);
for (var i = 0; i < frameCount; i++) {
nowBuffering[i] =Math.sin(i**(1/1.8)/4)
}
var source = audioCtx.createBufferSource();
source.buffer = myArrayBuffer; source.connect(audioCtx.destination);
source.start();
}
答
你audioCtx
分配应的drum()
外移动,因为它会被调用每一次,最终抛出一个异常,因为你不能创造超过6音频上下文在文档中。
iOS safari mobile – user7951676