javascript - 播放 AudioBufferSourceNode 两次?

标签 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)

最佳答案

一旦你播放了一个源节点,你就不能重复使用它。您需要使用相同的缓冲区创建另一个 AudioBufferSourceNode。查看Web Audio FAQ了解更多信息(请参阅 noteOn() 问题)。

关于javascript - 播放 AudioBufferSourceNode 两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9439585/

相关文章:

javascript - 动画模态 - 多模态框不工作

javascript - Youtube API 和 Web 音频 api

google-chrome - 网络音频 API 崩溃 chrome

javascript - 收到错误,指出声明的变量未定义

javascript---点击复制内容到剪贴板

javascript - 如何使用 javascript 复制此 css 媒体 jquery 以支持 IE

javascript - 如何使用 React Router 覆盖 Express API 路由

javascript - Web Audio API Panner 节点 - 如何在 100% pan 上剪切声音?

html - 使用 html5 捕获移动 chrome 上的麦克风输入

javascript - Web音频增益节点未完全静音