播放AudioBufferSourceNode两次?

all*_*tom 11 javascript web-audio-api

我应该能够使用相同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)
Run Code Online (Sandbox Code Playgroud)

Bor*_*mus 18

一旦您回放了源节点,就无法重用它.您需要AudioBufferSourceNode使用相同的缓冲区创建另一个.查看Web Audio FAQ以获取更多信息(请参阅noteOn()问题).