みかづきブログ その3

3ヶ月つづけてみました。

Audioタグをつかってみよう。

HTML5から導入されたAudioタグ。
非常に便利なのですが、ブラウザによって扱えるオーディオの種類が違います。
Chromeでは.mp3ファイルを、FireFoxでは.oggファイルを読み込みたかったので、下記のようなコードを書いてみました。
音源までのパス(拡張子なし)を渡すとAudioを返してくれることを期待しています。

function buildAudio(path) {
    if (!win.HTMLAudioElement) {
        return;
    }

    var audio = new Audio();

    if (audio.canPlayType) {
        var canPlayMp3 = ("" !== audio.canPlayType("audio/mpeg")),
            canPlayOgg = ("" !== audio.canPlayType("audio/ogg")),
            extension;

        if (canPlayMp3) {
            extension = ".mp3"
        } else if (canPlayOgg) {
            extension = ".ogg";
        } else {
            return;
        }

        audio.loop = false;
        audio.src  = path + extension;
        audio.load();

        return audio;
    }
}

で、検証してみたんですが、
僕の手元の環境(Mac OS 10.8.5, Firefox 27.0.1)ではFirefoxでmp3の音源の再生ができてしまいました。
昔はできなかったような気が。。。引き続き調査します。