js实现本地音频随机播放

js实现本地音频随机播放_第1张图片

布局

  <ul class="musicList">
   <li>
    <span>不要说话span>
    <button class="musiclist">播放1button>
   li>
   <li>
    <span>于此与披span>
    <button class="musiclist">播放2button>
   li>
   <li>
    <span>span>
    <button class="musiclist">播放3button>
   li>
   <li>
    <span>想见你想见你span>
    <button class="musiclist">播放4button>
   li>
   <li>
    <span>长腿叔叔span>
    <button class="musiclist">播放5button>
   li>
  ul>

  <p class="musicFoot">
   <audio src="music/不要说话.mp3" controls="">audio>
   <br/>
   <button class="menu">上一首button>
   <button class="menu">播放button>
   <button class="menu">下一首button>
   <button class="menu">单曲循环button>
   <button class="menu">随机播放button>
  p>

获取相关dom元素

  let btn=document.querySelectorAll('button.menu')
  let musicName=document.getElementById('musicName')
  let num=0
  // 歌曲库
  let music=[
   '不要说话','于此与彼','他','想见你想见你','长腿叔叔'
  ]
  console.log(music)

点击列表播放

  let audio=document.getElementsByTagName('audio')[0]
  let btns=document.querySelectorAll('button.musiclist')
  for(let i=0;i<btns.length;i++){
   btns[i].addEventListener('click',function(e){
    console.log(e.target)
    audio.src="music/"+music[i]+".mp3"
    musicName.innerHTML=music[i]
    audio.play()
   })
  }

歌曲数量

let musicCount=music.length

播放/暂停

  // 播放||暂停
  btn[1].addEventListener('click',function(){
   if(audio.paused){
    audio.play()
   }else{
    audio.pause()
    console.log(audio.currentTime)
   }
  })

上一首

  // 上一首
  btn[0].addEventListener('click',function(){
   num=(num+(musicCount-1))%musicCount
   audio.src="music/"+music[num]+".mp3"
   musicName.innerHTML=music[num]
   audio.play()
  })

下一首

  // 下一首
  btn[2].onclick=function(){
   num=(num+1)%musicCount
   audio.src="music/"+music[num]+".mp3"
   musicName.innerHTML=music[num]
   audio.play()
  }

监听自动播放下一首

  // 自动播放下一首
  audio.addEventListener('ended',function(){
   btn[2].onclick()
  },false)

循环播放/退出循环播放

  btn[3].onclick=function(){
   if(audio.loop==false){
    audio.loop=true
   }else{
    audio.loop=false
   }
  }

随机播放

  btn[4].onclick=function(){
   let ranNum=Math.floor(Math.random()*5)
   // console.log(ranNum)
   audio.src="music/"+music[ranNum]+".mp3"
   musicName.innerHTML=music[ranNum]
   audio.play()
   if(audio.loop==true){
    audio.loop=false
   }
  }

你可能感兴趣的:(HTML5,JavaScript案例)