Safari 和 Edge 都不支持 audioContext.copyToChannel()
函数用自定义内容填充 audioBuffer。还有其他方法吗?
在我的例子中,我想创建一个脉冲响应,用该响应填充一个缓冲区,然后将一些声音与该缓冲区进行卷积。对于 Chrome 和 Firefox 这有效:
buffer = audioCtx.createBuffer(numOfChannels, 1, sampleRate);
buffer.copyToChannel(impulseResponse, 0);
buffer.copyToChannel(impulseResponse, 1);
convolverNode.buffer = buffer;
最佳答案
您可以在 AudioBuffer
上使用 getChannelData(channel)
,然后您会得到一个常规的 Float32Array
,您可以随意修改。也许您想查看 set
方法?
copyToChannel
用于优化缓冲区副本,如 spec 中所述(见下面的小绿框。
关于javascript - 在 Safari 和 Edge 中替代 audioContext.copyToChannel(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32640573/