0

我在我的应用程序中使用 html5 网络音频 api。申请很简单,我有

BufferSourceNode -> GainNode -> 低通滤波器 -> context.destination

现在我想在应用过滤器后保存输出。所以我决定在 context.destination 之前添加记录器。但这不起作用,它在播放音频时会发出一些噪音,尽管我的录音机成功记录了过滤效果。

我是以正确的方式做这件事还是有更好的方法来做到这一点?

4

1 回答 1

1

两件事情:

1)如果您无论如何都要使用缓冲区 - 即使您不是() - 您可能需要考虑使用 OfflineAudioContext (https://dvcs.w3.org/hg/audio/raw-file/tip/ webaudio/specification.html#OfflineAudioContext-section)。OAC 可以比实时运行得更快,因此您无需实时“记录”它;你设置你的节点,调用 startRendering(),oncomplete 事件给你一个音频缓冲区。( ) 如果您仍然想要一个 .WAV 文件,您可以从 Recordjs 中提取 WAV 编码功能,并使用它来编码任意缓冲区。

2)这听起来像是您的代码中的错误 - 它应该以任何一种方式工作,而不会造成额外的噪音。你有代码示例可以发给我吗?

于 2013-09-18T12:46:50.877 回答