読者です 読者をやめる 読者になる 読者になる

S.F. Page

Programming,Music,etc...

YMO Giga CapsuleのビューワをElectronで作ってみている(5)

意味不明だと思うが、とりあえずJingle YMOの動画の作りかけスクリーンショット。

https://40.media.tumblr.com/d92a75b11cf62714972d43540e53dd0c/tumblr_nvy5jeCCcH1s44dwzo1_1280.png

Jingle YMOのBGMに合わせて絵や文字を動かすつもりだ。d3.js+SVGでね。音はWeb Audioで。

久しぶりにWeb Audioをいじるのでまずはチュートリアル的なサイトを参考にopusファイルを再生するコードを書いてみるとこれが鳴らない。decodeAudioData()で不明なエラーnullで終了してしまうのだ。調べるとopusはWeb Audioのデコーダがサポートしていないらしい。audioタグでは問題なく鳴るのだが。不思議な挙動だ。。

Issue 482934 - chromium - decodeAudioData can't decode audio, but Chrome itself can - An open-source project to help move the web forward. - Google Project Hosting

oggだと鳴るので、とりあえずそれで逃げることにした。

調べているうちに知ったこととしては、electronはffmpegを使ってデコードしているが、最近のバージョンでそれを静的リンクしたそうだ。なのでffmpegのコードも包含しているのである。なーんだ、そうするとffmpegを同梱する必要などないではないかと思ったけど、エンコード・デコードルーチンを呼ぶインターフェースが用意されているわけではないので使えない。残念。

ネイティブ・モジュール的に使えればいいんだけどなー。とか結構思っている人はいるらしい。

github.com

まあしょうがないか。