3 回答
TA贡献1943条经验 获得超7个赞
TA贡献1847条经验 获得超11个赞
要获得立体声输出,我必须使用:
workerNode = new AudioWorkletNode(ctx, "audio-proc", {
numberOfOutputs : 2,
outputChannelCount : [2, 2]
});
TA贡献1809条经验 获得超8个赞
我已经做过类似的事情并且弄清楚了如何去做。
代码注释解释了您需要添加的内容。
该代码在 Atom 实时服务器上运行,因此在此处运行时可能无法正常工作,但它确实会使用 2 个声道产生立体声。
registerProcessor('noise-generator',class extends AudioWorkletProcessor {
process(inputs, outputs) {
for (let i=0;i<outputs[0][0].length;++i){
outputs[0][0][i]=2*Math.random()-1 //ouputs sound to left side
outputs[0][1][i]=2*Math.random()-1 //outputs sound to right side, added extra output and set 2nd channel to 1
}
return true
}
})
<button onclick="context.resume()">Start</button>
<script>
let context= new AudioContext()
context.audioWorklet.addModule('basicnoise.js').then(() => {
let myNoise = new AudioWorkletNode(context,'noise-generator', {outputChannelCount : [2]}) //added 2 output channels
myNoise.connect(context.destination)
})
console.log(context.sampleRate);
</script>
添加回答
举报