Webブラウザの動的Audioサポートの下限バージョンを探る
DHTML が登場し Web ブラウザがゲームのプラットフォームになる事が知られてからも、ブラウザ側でサウンドを動的に生成する API の提供は遅れました。
mp3 などの静的なオーディオファイルの再生ではなく、javascript 等でインタラクティブにサウンドコンテンツを生成できたら、ブラウザはゲームのプラットフォームとして一層魅力的になります。また一般的に、オーディオファイルに比べて、オーディオを生成するコードの方がファイルサイズが小さい点も Web 配信ではとても有利です。
WebAudio API の登場によってこの不満は完全に解消されますが、API をサポートしないブラウザでもプラグインを利用したり、ハック的に動的オーディオを実現している先例があります。
これらの手法を表にまとめて、チップチューンプレイヤ等に使用できるブラウザの下限を探ってみます。
本記事はバージョンのあたりを付けるに留め、検証環境を用意しての実装はいずれまた頑張ります。
ブラウザ | WebAudio | mozWriteAudio (*1) | HTMLAudio(*3) | Flash 10~ | Flash 9(*2) |
---|---|---|---|---|---|
IE, Edge | 12 | (*4) | 6 | 5 | |
Firefox | 23(25) | 4~27 | 3.5 | Gecko 1.8.1 | Gecko 1.7.5 |
Presto Opera | 11 | 9.5 | ? | ||
Chrome | 10(14) | 8 | 1? | 1? | |
Safari | 6 | 4 | 3 | 1.3 |
ブラウザ | WebAudio | mozWriteAudio (*1) | HTMLAudio(*3) | Flash 10~ | Flash 9(*2) |
---|---|---|---|---|---|
Safari Mobile | 6.1 | 4 | |||
IE Mobile, Edge Mobile, Modern IE | 12? | 10?(*4) | |||
Presto Opera Mobile | 12(*5) | 11(Opera Mobile 11 for Android and Symbian 参照) | |||
Firefox Mobile | 23(25) | 8~27? | 8 | Android 2.2–4.1 | |
AOSP, Chrome WebView | 5 | 2.3 | |||
Chrome Mobile | 28(29) | 18? | Android 4.0–4.1 | ||
BlackBerry 10.0–10.3.1 | ○ 11.1 | ||||
BlackBerry Tablet OS | ○ 11.1 | ||||
Maemo | ○ 9.4 | ||||
PlayStation 3 | Firmware 2.50, 9.1(update 3) | ||||
Symbian OS | ○ Flash Lite 4.0 | ||||
webOS (Palm and HP) | ○ |
- Firefox 4~27 では Audio Element 拡張が使えました。
- FlashPlayer 9 で動的サウンド生成を実現している popforge を参照。
HTMLAudioElement
のsrc
属性に動的に生成した Data URI スキームな wav を設定している pico.js を参照。- wav をサポートしない IE の為に javascript 製 mp3 encoder を追加する必要がある。Flash Player 等プラグインの使えない Modern IE と IE Mobile 10+ 用に検討する。IE 10 では
Worker
も使用可能になる。 - Android1.6 + Opera12 は
new Audio
でクラッシュ
You can now click links and activate Flash content in overview mode, without having to zoom in first (yes, that's right, the Android version now supports Flash).
- Adobe Flash support (Android only, Flash player available separately in Android Market)
- Click-to-play, load Flash content on demand only
IE9 + Windows Media Player + data URI スキームな MIDI の検討。