文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

这篇文章主要讲解了“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怎么制作一个简洁的音乐播放器这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯