Tag audio HTML5 memiliki acara "onended" yang dijalankan ketika media mencapai akhir, tetapi karena Anda ingin terus bermain, Anda harus menggunakan acara "menunggu", yang juga menyala ketika media mencapai akhir, tetapi tetap siap untuk menerima trek/data baru.
Anda kemudian dapat menggunakan objek XMLHttpRequest untuk menanyakan trek berikutnya yang akan diputar, mis.
<script type="text/javascript">
function getNextTrack(e) {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "next_track.php", false);
xhttp.send("");
var playback = xhttp.responseXML.childNodes[0];
for(i = 0; i < playback.childNodes.length; ++i) {
if (playback.childNodes[i].nodeName != 'track') continue;
var value = playback.childNodes[i].childNodes[0].nodeValue;
e.currentTarget.src = value;
break;
}
}
</script>
<audio id="player" onwaiting="javascript: getNextTrack(e)" src="first_track.ogg"></audio>
xml akan dalam bentuk:
<?xml version="1.0" encoding="UTF-8" ?>
<playback>
<track>next_song.ogg</track>
</playback>