必威体育Betway必威体育官网
当前位置:首页 > IT技术

js实现音乐列表循环播放或单曲循环

时间:2019-10-26 13:14:33来源:IT技术作者:seo实验室小编阅读:64次「手机版」
 

单曲循环

简介

在前端页面中,有时候我们需要播放一首或者多首背景音乐,以此提高用户体验度。但是,很少有插件能够直接支持插入循环列表。因此,采用js控制Audio标签,实现音乐的循环播放,具体的功能可有(一部分):

  • 可设置循环列表,对列表中的歌曲进行播放。

  • 可对控制按钮进行隐藏。

  • 可实现audio标签对应的功

  • 等等。

实现过程

首先在设置一个标签

<body>
    <p id="music"> </p>
</body>

用js生成audio对象,并控制音乐进行播放,代码中对各参数进行了详细的说明。

window.onload = function(){
    //存放音乐列表,根据音乐文件路径,进行填写
    var musicList = ["/skins/skin/bj/audio/1.mp3","/skins/skin/bj/audio/1.mp3"]
    playMusic(musicList);
}

function playMusic(musicList){
    var myAudio = new Audio();
    //是否进行预加载
    myAudio.preload = false;
    //是否显示隐藏按钮
    myAudio.controls = true;
    myAudio.hidden = true;
    //从音乐列表中,获取最后一个音乐(并删除)
    var src = musicList.pop();
    myAudio.src =src;
    //将最后一个音乐添加到数组的开头,这样实现循环
    musicList.unshift(src);
    //绑定音乐结束事件,当音乐播放完成后,将会触发playEndedhandler方法
    myAudio.addeventlistener("ended",playEndedHandler,false);
    //播放当前音乐
    myAudio.play();
    document.getelementbyid("music").APPendChild(myAudio);
    //将循环播放关闭,如果开启,将不能触发playEndedHandler方法,只能进行单曲循环
    myAudio.loop = false;

    function playEndedHandler(){
        src = musicList.pop();
        myAudio.src = src;
        musicList.unshift(src);
        myAudio.play();
    }
}

如果实现单曲循环,将musicList数组中放一首歌曲或者直接使用<audio>标签即可实现,更多的属性也请参照<audio>标签的使用。

如果想实现多页面实现背景音乐的连续播放,使用<frameset>标签,参照参考文献1中的方法。

参考文献

  1. html5中多页面实现背景音乐的连续播放
  2. html音频

文章最后发布于: 2018-11-22 20:17:19

相关阅读

js视频抓图

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=de

js实现淡入和淡出

用js实现淡入淡出功能 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head>

推荐一个在线音乐插件

listen1多平台在线音乐播放插件 如果你浏览器常驻桌面而且又不想打开音乐软件的话,listen1是一个很好的选择。 插件形式安装在浏览

【代码实现】匈牙利算法

之前讲了导弹时,dalao(CJJ)把匈牙利也讲解了,我怕有些人不是很懂,我也来讲解一下。我们正经点,不要像“剩男剩女的大潮”之类的我还是按

webservice之jax-ws服务端及客户端实现

1. 运行环境 (1) 操作系统 :windows10 (2) JDK:1.7 (3) IDE:Myeclipse10 (4)服务器:tomcat72. 服务端搭建步骤 (1) 在myeclipse中创建 Web

分享到:

栏目导航

推荐阅读

热门阅读