2013-11-14 68 views
3

Web Audio API規範指出ScriptProcessorNode.bufferSize屬性值"will be picked by the implementation if the bufferSize argument to createScriptProcessor is not passed in, or is set to 0"Google Chrome Web Audio API實施是否支持ScriptProcessorNode.bufferSize爲零(自動)?

其他地方說"It is recommended for authors to not specify this buffer size and allow the implementation to pick a good buffer size to balance between latency and audio quality."時致電createScriptProcessor()

然而,當我使用一個零值或致電createJavaScriptNode()沒有bufferSize參數錯誤是在發展論壇控制檯拋出:

Uncaught SyntaxError: An invalid or illegal string was specified.

此錯誤是錯誤的,我驗證過的說法是一個數字,而不是一個字符串。

然而createScriptProcessor()結果失敗,調試器將停止,如果你把它設置爲「上捕獲的異常暫停」調用createScriptProcessor()行。

在我看來,Chrome不支持auto值和bufferSize值必須顯式設置這些值之一:

256, 512, 1024, 2048, 4096, 8192, 16384. 
  • 沒有人有這樣的經驗嗎?
  • 谷歌瀏覽器是否有ScriptProcessorNode.bufferSize自動執行?

回答

1

我相信這是一個新的(ish)除草案。鉻(穩定)還沒有趕上呢。但這一變化已進入Chrome Canary。如果沒有參數或參數0,它將設置默認值bufferSize。在我的機器上(也許是所有機器?)它是512

+0

感謝您的回覆,很高興知道Canary支持該規範。經過多一點研究,你是正確的,看起來像描述自動/零緩衝區大小值的語言是在最近的2013年10月10日發佈的。 2012年12月以前發佈的版本沒有指定此行爲。我想我會把我的代碼存檔以備將來的支持,並且現在實現一個強制的有效值。 –

相關問題