【问题标题】:Audio effects with NaCl extension带有 NaCl 扩展的音频效果
【发布时间】:2012-12-11 18:34:37
【问题描述】:

我刚刚开始研究 NaCl,希望能够制作音频浏览器扩展。文档中有一个正弦波演示,因此制作合成器似乎很简单。

我很想知道是否可以在输出之前捕获浏览器音频流,以便应用实时效果。这可能吗?

【问题讨论】:

    标签: google-chrome audio google-chrome-extension google-nativeclient


    【解决方案1】:

    这不仅是可能的。我已经做到了。您创建一个 ScriptProcessorNode,其 onaudioprocess 回调获取输入缓冲区并通过 postMessage 将其传递给等待的 NaCl 模块。一旦 NaCl 模块完成处理,它就会通过 postMessage 将其发送回 JavaScript。 ScriptProcessorNode 必须输出一些内容,因此您会引入 1 帧延迟,并且 ScriptProcessorNode 会复制从 NaCl 接收到的最新处理输出。

    流程如下所示:

    ScriptProcessorNode -> NaCl 的 postMessage 输入缓冲区

    ScriptProcessorNode -> 将从 NaCl 接收到的最新缓冲区复制到输出缓冲区。

    NaCl -> 接收音频样本缓冲区,对其进行处理并将其发回。

    如果您希望我在 GitHub 上发布代码或有其他问题,请告诉我。

    HTH, 约翰

    【讨论】:

    • 是的,请!那太棒了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多