web-dev-qa-db-ja.com

HTML5オーディオMP3サポートを検出する方法は?

HTML5オーディオ再生が利用可能かどうかをJavaScriptでチェックインする方法を知っています。しかし、IE9とChromeはサポートしていますが、FirefoxとOperaはサポートしていません。

35
footy

User-Agentをチェックして、どのブラウザが使用されているかを確認するか、JavaScriptでサポートをテストできます。

var a = document.createElement('audio');
return !!(a.canPlayType && a.canPlayType('audio/mpeg;').replace(/no/, ''));

上記のコードは this page から取得しました。

(最近の一部のバージョン)Firefoxはmp3をサポートしておらず、a.canPlayType( 'audio/mpeg;')はfalseになるため、return !!(a.canPlayType)の方が適しています

62
keyboardP

Modernizr は、特徴検出用のライブラリです。あなたはあなたのために仕事をするためにそれを使うことができます。

ドキュメント によると:

オーディオサポートが検出された場合、Modernizrは現在のブラウザーが再生するフォーマットを評価します。現在、Modernizrはogg、mp3、wav、m4aをテストしています。

重要:これらのプロパティの値は真のブール値ではありません。代わりに、Modernizrは、そのコーデックを処理できるというブラウザーの信頼レベルを表す文字列を返す際にHTML5仕様と一致します。これらの戻り値は、空の文字列(否定応答)、「たぶん」および「おそらく」です。空の文字列は不正です。つまり、Modernizr.audio.ogg == ''および '' == falseです。

4
Tim
var test_audio= document.createElement("audio") //try and create sample audio element 
var test_video= document.createElement("video") //try and create sample video element
var mediasupport={audio: (test_audio.play)? true : false, video: (test_video.play)? true :     false}

alert("Audio Element support: " + mediasupport.audio + "\n"
+ "Video Element support: " + mediasupport.video
)
3
Shoaib Iqbal