温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

HTML怎么制作一个简洁的音乐播放器

发布时间:2022-03-23 11:03:59 来源:亿速云 阅读:930 作者:iii 栏目:web开发

这篇文章主要讲解了“HTML怎么制作一个简洁的音乐播放器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML怎么制作一个简洁的音乐播放器”吧!

  这个播放器的音乐是通过豆瓣FM的API获取到的,我们可以随机的听到豆瓣FM的任何音乐。

  html部分

  代码:

  <divclass="wrapper">

  <divclass="background"></div>

  <divclass="content">

  <audiosrc=""></audio>

  <divclass="music-massage">

  <pclass="musicname"></p>

  <pclass="musicer"></p>

  </div>

  <divclass="music-icon">

  <aclass="m-iconm-fenxiangcolored"href="http://service.weibo.com/share/share.php?title=#_loginLayer_1466697157538"target="new"></a>

  <spanclass="m-iconm-starcolored"></span>

  <spanclass="m-iconm-heartcolored"></span>

  </div>

  </div>

  <spanclass="basebar">

  <spanclass="progressbar"></span>

  </span>

  <divclass="controls">

  <divclass="play-control">

  <spanclass="m-iconm-playbtn1"title="播放/暂停"></span>

  <spanclass="m-iconm-changebtn2"title="换频道"></span>

  <spanclass="m-iconm-nextbtn3"title="换曲"></span>

  </div>

  <divclass="music-control">

  <spanclass="m-iconm-xunhuancolored"></span>

  <spanclass="m-iconm-radomcolored"></span>

  </div>

  </div>

  </div>

  这里就不写css的代码了,大家可以直接看源文件或者从开发者工具中去看。如果有问题可以私聊我。

  js部分

  代码一(播放控制):

  //播放控制

  varmyAudio=$("audio")[0];

  //播放/暂停控制

  $(".btn1").click(function(){

  if(myAudio.paused){

  play()

  }else{

  pause()

  }

  });

  //频道切换

  $(".btn2").click(function(){

  getChannel();

  });

  //播放下一曲音乐

  $(".btn3").click(function(){

  getmusic();

  });

  functionplay(){

  myAudio.play();

  $('.btn1').removeClass('m-play').addClass('m-pause');

  }

  functionpause(){

  myAudio.pause();

  $('.btn1').removeClass('m-pause').addClass('m-play');

  }

  代码二(ajax获取豆瓣fm音乐):

  //获取随机频道信息

  functiongetChannel(){

  $.ajax({

  url:'http://api.jirengu.com/fm/getChannels.php',

  dataType:'json',

  Method:'get',

  success:function(response){

  varchannels=response.channels;

  varnum=Math.floor(Math.random()*channels.length);

  varchannelname=channels[num].name;//获取随机频道的名称

  varchannelId=channels[num].channel_id;//获取随机频道ID

  $('.record').text(channelname);

  $('.record').attr('title',channelname);

  $('.record').attr('data-id',channelId);//将频道ID计入data-id中

  getmusic();

  }

  })

  }

  //通过ajax获取歌曲

  functiongetmusic(){

  $.ajax({

  url:'http://api.jirengu.com/fm/getSong.php',

  dataType:'json',

  Method:'get',

  data:{

  'channel':$('.record').attr('data-id')

  },

  success:function(ret){

  varresource=ret.song[0],

  url=resource.url,

  bgPic=resource.picture,

  sid=resource.sid,//获取歌词的参数

  ssid=resource.ssid,//获取歌词的参数

  title=resource.title,

  author=resource.artist;

  $('audio').attr('src',url);

  $('.musicname').text(title);

  $('.musicname').attr('title',title)

  $('.musicer').text(author);

  $('.musicer').attr('title',author)

  $(".background").css({

  'background':'url('+bgPic+')',

  'background-repeat':'no-repeat',

  'background-position':'center',

  'background-size':'cover',

  });

  play();//播放

  }

  })

  };

  注意:豆瓣会限制我们的访问,所以在<head>标签下一定要添加<metaname="referrer"content="no-referrer">

  代码三(进度条控制):

  setInterval(present,500)//每0.5秒计算进度条长度

  $(".basebar").mousedown(function(ev){//拖拽进度条控制进度

  varposX=ev.clientX;

  vartargetLeft=$(this).offset().left;

  varpercentage=(posX-targetLeft)/400100;

  myAudio.currentTime=myAudio.duration*percentage/100;

  });

  functionpresent(){

  varlength=myAudio.currentTime/myAudio.duration100;

  $('.progressbar').width(length+'%');//设置进度条长度

  //自动下一曲

  if(myAudio.currentTime==myAudio.duration){

  getmusic()

  }

  }

  html5中audio标签本身提供进度条功能,以及音量控制功能的,这里我为了界面的好看自己设置了进度条,音量控制还没有加,大家可以自行添加。

感谢各位的阅读,以上就是“HTML怎么制作一个简洁的音乐播放器”的内容了,经过本文的学习后,相信大家对HTML怎么制作一个简洁的音乐播放器这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI