36

HTML5 オーディオ再生が利用可能かどうかを Javascript でチェックする方法を知っています。しかし、Firefox と Opera はサポートしていませんが、IE9 と Chrome はサポートしているため、MP3 オーディオの再生が利用可能かどうかを具体的に確認するにはどうすればよいでしょうか。

4

3 に答える 3

62

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

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

このページから上記のコードを取得しました。

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

于 2011-12-12T02:07:24.023 に答える
4

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

ドキュメントによると:

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

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

于 2011-12-12T02:10:37.697 に答える
3
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
)
于 2013-10-11T20:46:01.190 に答える