托管在github上的个人简历、静态网页里的音乐播放器,暂停、下一首、顺序播放

 把github、git、github pages大概搞清楚了之后俺就开始写托管在github pages上的简历网页了,第一次感觉自学以来不算是浪费时间,还是学到了一些东西的。

感觉响应式设计和浏览器兼容会是一个很大的问题,我的预想大概是这样:

判断是移动端还是浏览器端:

  移动端:加载移动端的样式表

  浏览器端:判断是哪个浏览器(因为发现相同样式在谷歌和火狐上的效果有一定差别)

    浏览器端浏览:大概设置两个断点,即三套有些微不同的样式表。

不准备用bootstrap的栅格系统,感觉没有意思ฅʕ•̫͡•ʔฅ

 

在简历中准备了一块用来展示过去四个月做的小demo,顺便作为面试家园工作室/暑期实习前的复习了

 

 还是用version的形式来记录,预计version2.0.0开始就是完整的谷歌浏览器端的界面,包括字蛛爬取出来的字体啊,svg图标等等。

 

 

记录一下其中一个小模块:音乐播放器

(谷歌浏览器)

(注意,上图中圈出来的地方都是自己添加的,用的转义字符或者icon图标。)

js代码

   $(function(){
    var audioCounts = 0;
    var songs = ["王若琳-Let's Start From Here.mp3",
                "马修·连恩 - 布列瑟农.mp3",
                "The Brothers Four - 500 miles.mp3",
                "Kygo,Ed Sheeran - I See Fire (Kygo Remix).mp3"];
    var audioSrcFile = "../audio/";
    var player = document.getElementsByTagName("audio")[0];
    var audioCounts;

    $("#rightChange").click(function next (){

        player.pause();

        if(audioCounts == 3){
            audioCounts = 0;
        }else{
            audioCounts++;
        }
        var audioSrc = audioSrcFile + songs[audioCounts];
        console.log(audioSrc);
        document.getElementsByTagName("source")[0].setAttribute("src",audioSrc);
        player.load();
        player.play();
        $("#audioTitle").text(songs[audioCounts].slice(0,-4));
    });

    $("#leftChange").click(function(){
        player.pause();

        if(audioCounts == 0){
            audioCounts = 3;
        }else{
            audioCounts--;
        }
        console.log(audioCounts);
        var audioSrc = audioSrcFile + songs[audioCounts];
        console.log(audioSrc);
        document.getElementsByTagName("source")[0].setAttribute("src",audioSrc);
        player.load();
        player.play();
        $("#audioTitle").text(songs[audioCounts].slice(0,-4));
    });

    $("#closeBtn").click(function(){
        player.pause();
        $("#container").hide();
        $(".showPlayer").show();
    });

    player.onended = function(){
           if(audioCounts == 3){
               audioCounts = 0;
           }else{
               audioCounts++;
           }
var audioSrc = audioSrcFile + songs[audioCounts];
        console.log(audioSrc);
        document.getElementsByTagName("source")[0].setAttribute("src",audioSrc);
        player.load();
        player.play();
        $("#audioTitle").text(songs[audioCounts].slice(0,-4));
    };

   
   })
  

由于是静态页面(没有php、没有asp、没有sql、没有node.js),这是我目前想到的比较okay的一个实现方式,缺点就是在github pages上运行时加载音乐资源需要5s以上的延迟(本机数据)。

几个需要注意的地方:

1.点击“>”按钮时跳转到下一首歌的这个步骤,在更改了路径以后,需要执行一次player.load(),重新加载资源文件,否则不会切换。

2.谷歌浏览器对自动播放政策是有限制的,详情可以点击这篇文章,希望你会有收获。

posted @ 2019-06-02 12:58  林不渡  阅读(1047)  评论(0编辑  收藏  举报