Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript HTML5 <audio> multiple source

I am trying to insert the same song into 2 different sources on my audio player using javascripts 'getElementByID'.

HTML:

<audio id="audio">
   <source id="ogg" src="song1.ogg" type="audio/ogg">
   <source id="mp3" src="song2.mp3" type="audio/mp3">
   Your browser does not support the audio tag.
</audio>

JavaScript:

function songOne(){ 
    document.getElementById('ogg').src="../audio/pt/lllg/Panda's Thumb.ogg";
    document.getElementById('mp3').src="../audio/pt/lllg/Panda's Thumb.mp3";
    document.getElementById('songName').innerHTML="Panda's Thumb";
    audio.play();
}

As you can see, when the function runs, it places the .ogg file into the id="ogg" and the .mp3 into the id=".mp3". Though, when I inspect the element the source has changed but the song will not play.

I can get it to work with only one source:

<audio id="audio" src=""></audio>

But then it will only play on browsers that support mp3 or ogg and the others miss out. What am i doing wrong?

like image 465
user1719526 Avatar asked Oct 07 '12 11:10

user1719526


1 Answers

I don't know much about HTML5 Audio, but try this:

After you change the src attr, issue a audio.load(); command

Check this article: http://html5doctor.com/native-audio-in-the-browser/

like image 121
chanjarster Avatar answered Oct 08 '22 20:10

chanjarster