JSFiddle - React, Tailwind, and code Playground

by abogoud

HTML

<audio preload="auto" controls loop>
		<source src="https://s3.amazonaws.com/assets.chirpdaily.com/BEATS/19th+Ave+-+Chirp+Daily+-+96bpm.mp3" />
</audio>
<br/><br/>
<audio preload="auto" controls loop>
		<source src="https://s3.amazonaws.com/assets.chirpdaily.com/BEATS/Breakbot+-+Zeed+-+72bpm.mp3" />
</audio>

JavaScript

function check_audio() 
{
  var elem = document.createElement('audio'), bool = false;
  
  try 
  {
    if ( bool = !!elem.canPlayType ) 
    {
      bool = new Boolean(bool);
      bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,'');
      bool.mp3 = elem.canPlayType('audio/mpeg;').replace(/^no$/,'');
      bool.wav = elem.canPlayType('audio/wav; codecs="1"').replace(/^no$/,'');
      bool.m4a = (elem.canPlayType('audio/x-m4a;') || elem.canPlayType('audio/aac;')).replace(/^no$/,'');
    }
  } 
  catch(e) 
  { 
  }
  
  return bool;
}

var b = check_audio();

if(!b)
{
  document.write('No Audio support');
}
else
{
  var formats = ['ogg', 'mp3', 'wav', 'm4a'];
  for(var i = 0; i < formats.length; i++)
  {
    document.write(formats[i] + ' support status ' + b[formats[i]] + '<br />');
  }
}