我应该能够使用相同的 AudioBufferSourceNode
多次播放声音吗?出于某种原因,第二次调用 noteGrainOn
不会播放音频,即使中间有 noteOff
。
这段代码只播放一次声音:
var node = audioContext.createBufferSource()
node.buffer = audioBuffer
node.connect(audioContext.destination)
var now = audioContext.currentTime
node.noteGrainOn(now, 0, 2)
node.noteOff(now + 2)
node.noteGrainOn(now + 3, 0, 2)
node.noteOff(now + 5)
最佳答案
一旦你播放了一个源节点,你就不能重复使用它。您需要使用相同的缓冲区创建另一个 AudioBufferSourceNode
。查看Web Audio FAQ了解更多信息(请参阅 noteOn() 问题)。
关于javascript - 播放 AudioBufferSourceNode 两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9439585/