またもやIEのみで。オーディオプレイヤーでmp3ファイルが再生できない原因がコーデックだった話

  • 更新日:
  • 公開日:

HTML5のaudioタグをそのままオーディオプレイヤーにするライブラリ「audio.js」を使ってハマった話です。

mp3ファイルを再生するよう実装して各ブラウザで確認したところInternet Explorerでのみ再生できず。しかも互換性で確認するといつもは問題ないIE9~IE11で動かないんです。(audio.jsはIE8以下では自動的にフラッシュ版に切り替えてくれるので旧バージョンなら再生できたのです)

「もうだめだ」「辞めよう」と考えながら2時間ほど格闘した結果mp3ファイルのコーデックが原因だと分かりました。

audio.jsのページをIEで開くと普通に聞けるんですよね。それならとmp3ファイルをダウンロードして調べてみればエンコード方式が「iTunes 9.0.3」となっているではありませんか。なので同じく再生できなかったmp3ファイルをiTunesで変換してやればすんなり再生できました。(もともとの拡張子がmp3なので一旦wavに戻してからやり直す必要がありました)

audio-mp3-ie-error01
iTunesって良いですよね

そんなわけで「.htaccess でMIMEタイプの設定しても音声ファイルが再生できない!」という場合はエンコード方式に目を向けてみると解決するかもしれません。

以上、コードに囚われていた人間がハマった顛末でした。

ちなみに、audio.jsとってもオススメです。ブラウザの互換性はバッチリですしスマホでも動きましたよ。

書いた人

Symbol Mark

Ryoichi(しつ)

除菌ティッシュを買い込んで使いきれずによく乾かす人。

療養目的で退職し、どうやって生きていくか模索中。最近は勉強目的でLaravelやVue.js弄ったり、趣味で音で遊んでます。

※2019年10月16日現在ブログリニューアル中です。崩れなどが発生していたらすみません。

うぇぶ: @s_ryone