生成声音并将其录制在WebAudio中

时间:2014-10-29 06:26:20

标签: web-audio

我希望使用一堆振荡器生成声音并录制该声音以供将来播放。我的设置的简化版本目前如下所示:

Oscillator -> Gain -> ScriptProcessor* -> Destination         (for recording)

BufferSource -> Destination*                                  (for playback)

*标记实际的最终节点。

ScriptProcessor 节点只是为了记录传递给它的任何内容 - 它没有将任何内容传递给目的地,这使我想知道:为什么我需要将所有内容连接到目的地,否则它不会起作用?有没有比使用 ScriptProcessor 节点更好的记录数据的方法?如果我不必将事物连接到目的地,那么我可以加快声音的产生吗?对于10秒的正弦波,我必须等待10秒才能生成。我可以比真实的可听时间更快地生成它并慢慢播放它吗?

1 个答案:

答案 0 :(得分:2)

您想使用OfflineAudioContext。您可以使用与实时上下文相同的sampleRate创建它,并获得所需的缓冲区长度,在其中创建节点,告诉它开始渲染以及何时完成它会为您提供一个可以用来播放的AudioBuffer回到你的生活环境中。

相关问题