我使用Web Audio API编写了一个简单的Web应用程序,但是我注意到当我向给定的源发出noteOn(0)
命令,然后是noteOff(0)
,然后是另一个noteOn(0)
命令,声音将打开,关闭(按预期方式),但随后不会打开第三个命令。
有什么我做错了吗?就这么简单,我可以向你展示代码,但我觉得它是多余的。也许我需要在noteOff
之后将缓冲区重新分配给源代码,但我无法想象它是如何使用的。
答案 0 :(得分:7)
AudioBufferSourceNode只能播放一次。
答案 1 :(得分:2)
在这里阅读:http://www.html5rocks.com/en/tutorials/webaudio/intro/,特别是这里:http://www.html5rocks.com/en/tutorials/webaudio/intro/js/volume-sample.js,看起来像是在noteOff之后重置源/缓冲区。我改变了方向,事情进展顺利。
答案 2 :(得分:1)
使用 .disconnect()与振荡器
一起使用示例代码http://en.wikiaudio.org/Web_Audio_API:Toggle_oscillator_on_and_off