html5+原生js制作一个超简易音乐播放器

html5+原生js制作一个简易音乐播放器

最近学了html5的audio标签,然后就想着做一个音乐播放器。

下面是效果图

emmmmm有点丑陋,随着以后学的更多,之后会完善哒~
html5+原生js制作一个超简易音乐播放器_第1张图片

播放器实现的功能

  • 点击播放
  • 自动循环播放
  • 上一首
  • 下一首

下面是具体代码

注释写的很详细,大家可以复制之后体验~
歌我就随便选了三个,可以修改成自己喜欢的。

html

<html>

<head>
  <meta charset="utf-8">
  <title>播放器练习title>
  <link rel="stylesheet" type="text/css" href="vido.css">
  <script type="text/javascript" src="vido2.js">script>
head>

<body>
  <div id="container">
    <div id="player">
      <audio src="./music/孤身.mp3" controls autoplay id="aud">audio>
      <div id="buttons">
        <button id="btpre">上一首button>
        <button id="next">下一首button>
      div>
      <div id="list">
        <ul>
          <li class="play">孤身li>
          <li>花香li>
          <li>这一生关于你的风景li>
        ul>
      div>
    div>
  div>


body>

html>
css
*{
  margin: 0;
  padding: 0;
}
#container{
width: 350px;
height: 500px;
background-color: cornflowerblue;
margin: auto;
/* opacity:0.1; */
}
#player{
  height: 100px;
  width: 350px;
  background-color: rgb(30, 108, 172);
  
}
#player audio{
  margin: 20px 20px 0px 20px;
}
#buttons{
  width: 150px;
  height: 20px;
  margin-left: 80px;
  display: inline-block;
}
#btpre{
float: left;
margin-right: 40px;
}
#next{
  float: right;
}
#list ul{
  text-align: center;
  list-style-type: none;
}
#list li{
  width: 350px;
  height: 35px;
  line-height: 35px;
  border-bottom:1px solid white ;
  cursor: pointer;
}
.play{
  background-color: rgb(150, 177, 228) ;
  color: white;
  font-size: bold;
}
js
window.onload = function () {
  var btnPre = document.getElementById('btpre');
  var btnNext = document.getElementById('next');
  var list = document.getElementById('list');
  var aud = document.getElementById('aud');
  var li = list.getElementsByTagName('li');
  var mymusic = ['./music/孤身.mp3', './music/花香.mp3', './music/这一生关于你的风景.mp3'];//把地址存在一个数组里
  //点击播放
  for (var i = 0; i < li.length; i++) {
    li[i].onclick = function () {
      for (var i = 0; i < li.length; i++) {
        if (this == li[i]) {
          li[i].className = 'play';
          aud.src = mymusic[i];
          aud.play();
        } else {
          li[i].className = '';

        }
      }
    }
  }
  //获取正在播放的音乐
  function getPlay() {
    for (var r = 0; r < li.length; r++) {
      if (li[r].getAttribute('class') == 'play') {
        return r;

      }
    }
  }
  //循环播放
  aud.onended = function () {
    var a = getPlay();
    a++;
    if (a > li.length - 1) {
      a = 0;
    }
    for (var j = 0; j < li.length; j++) {
      li[j].className = '';
    }
    aud.src = mymusic[a];
    aud.play();
    li[a].className = 'play';
  }
  //下一首
  btnNext.onclick = function () {
    var musicIndex = getPlay();
    if (musicIndex == li.length - 1) {//判断是否为最后一首,然后循环播放
      musicIndex = -1;
    }
    aud.src = mymusic[musicIndex + 1];//切换到下一首
    aud.play();
    for (var j = 0; j < li.length; ++j) {
      li[j].className = '';
    }
    li[musicIndex + 1].className = 'play';
  }
  //上一首
  btnPre.onclick = function () {
    var musicIndex = getPlay();
    if (musicIndex == 0) {//判断是否为第一首,然后循环播放
      musicIndex = li.length;
    }
    aud.src = mymusic[musicIndex - 1];//切换到上一首
    aud.play();
    for (var j = 0; j < li.length; ++j) {
      li[j].className = '';
    }
    li[musicIndex - 1].className = 'play';
  }
}
目录

html5+原生js制作一个超简易音乐播放器_第2张图片

这里立一个小小的flag希望自己以后可以变成技术大牛,O(∩_∩)O哈哈~

你可能感兴趣的:(html5+原生js制作一个超简易音乐播放器)