This tutorial will show you how to add a button to shuffle the playlist of the audio player.
Step 1 – In your webpage, add the following HTML code to create a button. You could use your own CSS to add style to the button.
<button id="shuffle-player">Shuffle</button>
Step 2 – In your webpage, add the following JavaScript to your webpage, just before the head closing tag </head>.
In the code, line 6, if your player has a different ID, please change the value accordingly.
<script>
(function($) {
$("document").ready(function() {
$("#shuffle-player").click(function() {
var playerID = 1;
var instance = $("#amazingaudioplayer-" + playerID).data("object");
for (var i = instance.elemLength - 1; i > 0; i--)
{
if ((i == 1) && (Math.random() < 0.5))
break;
var index = Math.floor(Math.random() * i);
var temp = instance.elemArray[index];
instance.elemArray[index] = instance.elemArray[i];
instance.elemArray[i] = temp;
temp = instance.playerSkin.trackitems[index];
instance.playerSkin.trackitems[index] = instance.playerSkin.trackitems[i];
instance.playerSkin.trackitems[i] = temp;
var tracks = $("#amazingaudioplayer-" + playerID + " .amazingaudioplayer-track-item");
var track0 = tracks.eq(index);
var track1 = tracks.eq(i);
track0.insertBefore(track1);
tracks = $("#amazingaudioplayer-" + playerID + " .amazingaudioplayer-track-item");
track1.insertBefore(tracks.eq(index));
}
for (var i = 0; i< instance.elemLength; i++)
instance.elemArray[i].id = i + 1;
$("#amazingaudioplayer-" + playerID + " .amazingaudioplayer-track-item").each(function(i) {
$(this).data("order", i);
if ($(this).hasClass("amazingaudioplayer-track-item-active"))
instance.currentItem = i;
$(".amazingaudioplayer-item-id", this).text(i + 1);
});
});
});
})(jQuery);
</script>