Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a javascript way to check if a browser natively supports MP3?

If the browser can play MP3's then I'll use the audio tag to play a file. If not, I'll have to load in a flash player.

like image 288
gargantuan Avatar asked Oct 03 '09 19:10

gargantuan


1 Answers

var audio  = document.createElement("audio"),
canPlayMP3 = (typeof audio.canPlayType === "function" &&
              audio.canPlayType("audio/mpeg;codecs=mp3") !== "");

Edit:

If you don't want to use JavaScript (yes, this will work in browsers that support <audio> but not MP3), try this:

<audio controls="controls">
<source src="some-audio-file.mp3" type="audio/mpeg;codecs=mp3" />
<!-- if you have an Opus version, also include this:
<source src="some-audio-file.opus" type="audio/ogg;codecs=opus" />
-->
<!-- flash object goes here -->
</audio>

If you want auto-play, include an autoplay attribute on the audio element.

like image 132
Eli Grey Avatar answered Sep 19 '22 06:09

Eli Grey