前回の続きです。
HTML5のaudio要素が対応しているコーデックは、
ブラウザ毎にこんな感じに異なっているようです。
機能テストのサンプルではOGGを採用しましたが、
IE9ではOGGに対応してなかったり、
WindowsのSafariに至っては、
JavaScriptでの new Audio() が例外を起こします。
ん~なんでや? 自分のPC環境がおかしいのか?
とりあえずSafariはしかたないとしても、
IE9はMP3には対応しているので、
OGGに対応してなかったらMP3を採用するようにサンプルを修正してみました。
あらかじめ2種類のサウンドファイルを用意しておく必要がありますが、
より多くのブラウザでサウンドが鳴るようにできると思います。
また、
サウンドをロードする時のタイプ指定を省略できるようにしました。
省略した場合は拡張子から自動判定するようにしました。
ところで、
IE9ではボリューム値を変更してもすぐに反映されない、
というナゾな現象が起こっています。
微妙にタイムラグがある感じです。
他のブラウザでは問題ないです。
ボリューム最小から最大までフェードしようとしても、
最大音量で瞬間鳴ってからボリュームが変更される感じです・・・。
フェードアウトはうまくいっているように聞こえていますが、
これも実際のボリューム更新は遅れているのかもしれません。
あるいは、停止状態ではボリューム更新が反映されないのかも。
再生状態になってからでないと受け付けないとか・・・。
きちんと検証してないので何とも言えないのですが、
いずれにしろ何か問題があるっぽい感じがします。
さて今回で、
だいたいやり尽くせたかなと思うので、
こちらの独立したページにまとめました。
パッケージのダウンロードとかもこちらからできるようにしました。
関連投稿はこちらで参照できます。
5月26日追記。
WindowsのSafariでaudioが動作しない件ですが、
なんかキュピーンと閃いて QuickTime 入れたら
うまく行くようになりました。
Apple製品はこういうものなのでしょうか・・・(^_^;)
はじめまして。
現在仲間うちでスマートフォン向けノベルゲームを制作する計画がありenchant.jsを調べている時こちらにたどりつきました。
色々と参考にさせていただきたいと思います。
詳細な記事ありがとうございました。
何かの参考になればさいわいです(^_^)