カテゴリ:
最近、釣り以外でHTML5的な開発に嵌っています。
jqueryでミリ秒で色々なイメージを動かしてのゲームやプレゼン的な画面をHTMLで構築するのですが

「ボタンを押したタイミングで音を出す」

「画面が切り替わるとBGMが流れる」

等、音声との絡むシーンが多々あります。

PCだと大体mp3だけでカバーできますが、Androidやiphoneだとogg aac 等の別フォーマットで振り分けていく
必要があります。

ogg形式だとネットの変換サービス aac だとitunesでma4に変換して拡張子をaacに変える と言った感じで対応していますが今回iphoneとPCのsafariだけ音声が再生されないという壁に当たりました。

サウンド関連は以前納品したモジュールと同じ物を使っているはずなのに。。
ネットで調べても特に参考になりそうな事例も無く、かなりの時間を無駄にしましたが原因はhtaccessでした。

開発の為、テストサーバーにはベーシック認証を掛けているのですが、その認証が必要な領域のファイルは
どうもsafariはすんなり再生してくれない模様です。
同領域内のhtmlから引いてるのでそのまま行けると思うのですが。。。

ベーシック認証を外すと、すんなりと再生されました。

safariだけhtml上で音声ファイル(mp3/ma4/aac)が再生されない方は一度htaccess周りを確認されると良いかも。