3

Web Audio API 规范声明 ScriptProcessorNode.bufferSize 属性值“如果未传入 createScriptProcessor 的 bufferSize 参数或设置为 0,则将由实现选择”

其他地方指出“建议作者不要指定此缓冲区大小,并允许实现选择一个好的缓冲区大小来平衡延迟和音频质量。” 打电话时createScriptProcessor()

但是,当我使用零值或createJavaScriptNode()不带bufferSize参数调用时,开发控制台中会引发错误:

未捕获的 SyntaxError:指定了无效或非法的字符串。

这个错误是错误的,我已经验证参数是一个数字,而不是一个字符串。

但是,如果您将其设置为'Pause on uncaught exceptions'createScriptProcessor() ,结果会失败,并且调试器将在调用的行上停止。createScriptProcessor()

在我看来 Chrome 不支持该auto值,并且该bufferSize值必须明确设置为以下值之一:

256, 512, 1024, 2048, 4096, 8192, 16384.
  • 有人对这个有经验么?
  • 谷歌浏览器有ScriptProcessorNode.bufferSize自动实现吗?
4

1 回答 1

1

我相信这是草案的一个新的(ish)补充。

Chrome(稳定版)还没有赶上。但是这种变化已经进入了 Chrome Canary。如果没有 arg 或 arg of 0,它将设置一个 default bufferSize。在我的机器上(也许所有机器?)它是512.

于 2013-11-14T20:26:00.957 回答