使用网络音频时,您可以将您创建的所有声音连接到一个全局创建的声音,gainNode
并使用该节点来获得“主音量”属性。当您希望能够即时更改主音量并希望它立即影响所有声音时,这非常方便。
现在,我正在尝试完成同样的任务,但是对于playbackRate
. 供参考:这适用于网页游戏,您可以在其中使用加电来减慢时间,这也应该减慢所有音乐和声音。
我创建的每个声音都AudioBufferSourceNode
链接到一系列处理节点。现在我知道 theAudioBufferSourceNode
本身具有playbackRate
您可以更改的属性。这很棒,但是如果我想动态更改“全局播放速率” ,它需要我缓存AudioBufferSourceNodes
我创建的所有内容,循环它们并更改它们。playbackRate
如果我能以与 global 相同的方式完成此操作,那将是完美的gainNode
,但找不到这样做的方法。
实现这种功能的正确方法是什么?你会推荐缓存所有AudioBufferSourceNodes
创建的(可能是数千个)并循环它们吗?这就是我对 HTML5 音频执行此操作的方式,但对于更高级的 Web 音频来说,这似乎很麻烦。
如果您想了解更多信息,请询问,我会更新问题!