意味不明だと思うが、とりあえずJingle YMOの動画の作りかけスクリーンショット。
Jingle YMOのBGMに合わせて絵や文字を動かすつもりだ。d3.js+SVGでね。音はWeb Audioで。
久しぶりにWeb Audioをいじるのでまずはチュートリアル的なサイトを参考にopusファイルを再生するコードを書いてみるとこれが鳴らない。decodeAudioData()
で不明なエラーnull
で終了してしまうのだ。調べるとopusはWeb Audioのデコーダがサポートしていないらしい。audio
タグでは問題なく鳴るのだが。不思議な挙動だ。。
https://code.google.com/p/chromium/issues/detail?id=482934
ogg
だと鳴るので、とりあえずそれで逃げることにした。
調べているうちに知ったこととしては、electronはffmpegを使ってデコードしているが、最近のバージョンでそれを静的リンクしたそうだ。なのでffmpegのコードも包含しているのである。なーんだ、そうするとffmpegを同梱する必要などないではないかと思ったけど、エンコード・デコードルーチンを呼ぶインターフェースが用意されているわけではないので使えない。残念。
ネイティブ・モジュール的に使えればいいんだけどなー。とか結構思っている人はいるらしい。
https://github.com/atom/electron/issues/2588
まあしょうがないか。