多媒体--切换歌曲

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wbdsr234/article/details/68941827
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            *{margin:0;padding:0}
            body{font-size: 12px;color: #EEEEEE; font-family:arial "微软雅黑";}
            ul,li{list-style: none;}
            .container{width:320px;background:#333333;margin:0 auto;color: #EEEEEE;overflow: hidden;}
            #player .info{margin: 20px 10px;overflow: hidden;line-height: 22px;}
            #player .info .title{font-size: 14px;color: #FFFFFF;}
            #player .info .img{width:120px;float: left;}
            #player .info .img img{width:100%;border-radius: 5px;box-shadow: 0 2px 6px rgba(0,0,0,0.5);}
            #player .info .minfo{float: right;width:170px;overflow: hidden;}
            #player .info .minfo .text{white-space: nowrap;}
            #player .info .minfo .control .icon{display: inline-block;width:24px;height:24px;cursor: pointer;}
            #player .info .minfo .control .before{background: url(img/audio/before.png) center no-repeat;opacity: 0.6;}
            #player .info .minfo .control .playing{background:url(img/audio/play.png) center no-repeat;opacity: 0.6;}
            #player .info .minfo .control .pauseing{background:url(img/audio/pause.png) center no-repeat;opacity: 0.6;}
            #player .info .minfo .control .after{background: url(img/audio/after.png) center no-repeat; opacity:0.6 ;}
            #player .info .minfo .control .volume{background: url(img/audio/volume.png) center no-repeat; opacity: 0.6;float:right ;}
            #player .info .minfo .control .mute{background: url(img/audio/mute.png) center no-repeat;opacity: 0.6;float:right ;}
            #playlist{margin:20px 10px;padding:0 10px;border-radius: 5px;background: #191919;box-shadow: 0 2px 6px rgba(0,0,0,0.5);line-height: 24px;}

        </style>
    </head>
    <body>

        <div class="container">
            <div id="player">
                <div class="info">
                    <div class="img"></div>
                    <div class="minfo">
                        <div class="text title"></div>
                        <div class="text artist"></div>
                        <div class="text album"></div>
                        <div class="control">
                            <div class="icon before"></div>
                            <div class="icon pause pauseing"></div>
                            <div class="icon after"></div>
                            <div class="icon muted volume"></div>
                        </div>
                    </div>
                </div>
            </div>

            <ul id="playlist"></ul>
        </div>

        <script src="js/jquery-1.11.3.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            $(function(){
                var playlist = [
                    {
                        "title": "chenparty",
                        "artist": "德国童声",
                        "album": "超好听的德国童声",
                        "img": "img/audio/1.jpg",
                        "mp3": "music/1.mp3"
                    },
                    {
                        "title": "德国第一装甲师进行曲",
                        "artist": "德国",
                        "album": "德国第一装甲师进行曲",
                        "img":"img/audio/2.jpg",
                        "mp3": "music/2.mp3"
                    },
                    {
                        "title": "亡灵序曲",
                        "artist": "魔兽世界",
                        "album": "魔兽世界 - 亡灵序曲",
                        "img": "img/audio/3.jpg",
                        "mp3": "music/3.mp3"
                    }
                ];
                var current = 0;
                var count = 3;
                var autoplay = true;
                var pause = false;
                var muted = false;
                var audio;
                function createList(arr){
                    if(arr!=null)
                    {
                        $.each(arr,function(i,element){
                            var li = $("<li>"+element.title+"</li>");
                            $("#playlist").append(li);
                        })
                    }
                }
                createList(playlist);
                function afterLoad(){
                    if(autoplay)
                    {
                        if(muted)
                        {
                            audio.muted = true;
                        }
                        audio.play();
                    }
                }
                function ended(){
                    $("audio").remove();
                    if(current+1==count)
                    {
                        current=0;
                        loadMusic(current);
                    }
                    else{
                        current++;
                        loadMusic(current);
                    }                   
                }
                function timeupdate(){
                    console.log("a");
                }
                function loadMusic(i){
                    var item = playlist[i];
                    var newaudio = $("<audio>").html("<source src='"+item.mp3+"'>").appendTo("#player");

                    $("#player .img").html("<img src="+item.img+">");
                    $("#player .title").text(item.title);
                    $("#player .artist").text(item.artist);
                    $("#player .album").text(item.album);

                    audio = newaudio[0];
                    audio.addEventListener("canplay",afterLoad,false);
                    audio.addEventListener("ended",ended,false);
                }
                loadMusic(current);
                $(".pause").on("click",function(){
                    if(!pause)
                    {
                        pause = true;
                        audio.pause();
                    $(this).removeClass("pauseing").addClass("playing");
                    }
                    else{
                        pause = false;
                        audio.play();
                $(this).removeClass("playing").addClass("pauseing");                       
                    }
                })
                $(".before").on("click",function(){
                    $("audio").remove();
                    if(current==0)
                    {
                        current=count-1;
                        loadMusic(current);
                    }
                    else{
                        current--;
                        loadMusic(current);
                    }
                })
                $(".after").on("click",function(){
                    $("audio").remove();
                    if(current+1==count)
                    {
                        current=0;
                        loadMusic(current);
                    }
                    else{
                        current++;
                        loadMusic(current);
                    }
                })
                $(".muted").on("click",function(){
                    console.log(audio.muted);
                    if(!audio.muted)
                    {
                        audio.muted = true;
                        muted = true;
                        $(this).removeClass("volume").addClass("mute");
                    }
                    else{
                        audio.muted = false;
$(this).removeClass("mute").addClass("volume");
                    }
                })
            })
        </script>
    </body>
</html>

after.png
before.png
metu.png
pause.png
play.png
volume.png

猜你喜欢

转载自blog.csdn.net/wbdsr234/article/details/68941827