Audio/MP3 Shuffle Playlist

HTML

<audio id="audio" preload tabindex="0" controls="" type="audio/mpeg" autoplay>
        <source type="audio/mp3" src="https://archive.org/download/iPhone_7_ringtone_cutted/iPhone_7_ringtone_cutted.mp3">
        Sorry, your browser does not support HTML5 audio.
    </audio>
    <br/>
    Chờ giây lát cho trình duyệt tải các tệp tin mp3. Mỗi lần tải lại trang, danh sách sẽ phát giống nhau hoặc khác đi một cách ngẫu nhiên.
    <br/>
<div id="n"></div>
    <ul id="playlist" class="content">
        <li class="active"><a href="https://archive.org/download/HaTrangElvisPhuong/HaTrang-ElvisPhuong.mp3">Hạ trắng - Elvis Phương</a></li>
        <li><a href="https://archive.org/download/O.LaiThan.hHa/O.Lai-Than.hHa.mp3">Ở lại - Thanh Hà</a></li>
        <li><a href="https://archive.org/download/ToiRuEmNguElvisPhuong/T%C3%B4i%20Ru%20Em%20Ng%E1%BB%A7-Elvis%20Ph%C6%B0%C6%A1ng.mp3">Toi ru em ngu - Elvis Phuong</a></li>
        <li><a href="https://archive.org/download/MaHHngTuNNgcBgngKiBu/M%C6%B0a%20h%E1%BB%93ng%20-%20Tu%E1%BA%A5n%20Ng%E1%BB%8Dc-B%E1%BA%B1ng%20Ki%E1%BB%81u.mp3">Mưa hồng - Tuấn Ngọc, Bằng Kiều</a></li> 
<li><a href="https://archive.org/download/NhCCnhVCBayKhynhLy/Nh%C6%B0%20C%C3%A1nh%20V%E1%BA%A1c%20Bay-Kh%C3%A1nh%20Ly.mp3">Nhu canh vac bay - Khanh Ly</a></li>
<li><a href="https://archive.org/download/MuaChieuKyNiemYPhuongQuocKhanh/MuaChieuKyNiem-YPhuong-QuocKhanh_rqyb.mp3">Mưa chieu ky niem - Y Phuong, Quoc Khanh</a></li>

   </ul>

CSS

#playlist,audio{background:#ccccff;width:400px;padding:10px;}
.active a{color:#5DB0E6;text-decoration:none;}
li a{color:#eeeedd;background:#194775;padding:5px;display:block;}
li a:hover{text-decoration:none;}

JavaScript

for (var $x=$(".content li"), i=$x.length-0, j, temp; i>=0; i--) { j=Math.floor(Math.random()*(i+0)), temp=$x[i], $x[i]=$x[j], $x[j]=temp; }
$x.each(function(i, li) { $(".content").append(li); }); 

var audio;
var playlist;
var tracks;
var current;

init();
function init(){
    current = 0;
    audio = $('audio');
    playlist = $('#playlist');
    tracks = playlist.find('li a');
    len = tracks.length - 0;
    audio[0].volume = .80;
    playlist.find('a').click(function(e){
        e.preventDefault();
        link = $(this);
        current = link.parent().index();
        run(link, audio[0]);
    });
    audio[0].addEventListener('ended',function(e){
        current++;
        if(current == len){
            current = 0;
            link = playlist.find('a')[0];
        }else{
            link = playlist.find('a')[current];    
        }
        run($(link),audio[0]);
    });
}
function run(link, player){
        player.src = link.attr('href');
        par = link.parent();
        par.addClass('active').siblings().removeClass('active');
        audio[0].load();
        audio[0].play();
}