RSS Twitter Facebook

2012/06/17 (2012年06月 のアーカイブ)

Safari 6 Web Audio API

先日のアップルWWDCで発表されたSafari 6がWeb Audio APIをサポートしているという話だったのですが、Developer Previewで確認したところ、微妙にChromeと挙動が違う部分があるようです。これに引っかかってWebModularがWeb Audio APIで動かなかったので、修正しました。

WebAudioAPIの存在を判定するために

if (typeof (webkitAudioContext) == "function") {
}
というような事をやっていたのですが、Safariでは "function"ではなく"object"になるようです。とりあえず、

if (typeof (webkitAudioContext) == "function" || typeof(webkitAudioContext) == "object") {
}
としましたけど、!="undefined"で良いかも。
それからJavaScriptNodeを作る時、

  audio.createJavaScriptNode(outbufsize, 0, 2);

だと駄目でオーディオ入力は使わなくても

  audio.createJavaScriptNode(outbufsize, 2, 2);

とする必要があるみたいです。いまいち良くわかりませんが、このへんドキュメント的には 「It is invalid for both numberOfInputChannels and numberOfOutputChannels to be zero.」なんで同時に0にしちゃ駄目というだけだと思うのだけど解釈が違うのかな?

Posted by g200kg : 2012/06/17 23:03:16