前端切图:自制简易音乐播放器
标签:
JavaScript
音乐播放器是一个非常常见的应用,这篇博客就是介绍如何制作一个简单的音乐播放器,这款音乐播放器具有以下的功能:图片旋转功能,点击播放,点击暂停播放的功能,音量调大调小功能,设置音频的播放时间,循环播放,自动播放,切换歌曲功能。
效果如下:
图片发自简书App
代码如下:
<!DOCTYPEhtml><html> <head> <metacharset="UTF-8"> <title></title> <style> *{ margin:0; padding:0; border:0; } @keyframesimg{ 0%{ transform:rotate(0deg); } 100%{ transform:rotate(360deg); } } .img{ background:url(004.jpg)no-repeat; width:200px; height:200px; background-size:100%100%; border:1pxsolid#d1d1d1; border-radius:50%; animation:img3sinfinitelinearpaused; } .img.runing{ animation-play-state:running; } li{ height:50px; line-height:50px; text-indent:10px; } li+li{ border-top:1pxsolidred; } .volume{ display:inline-block; width:40px; height:40px; border:1pxsolid#d1d1d1; text-align:center; line-height:40px; } </style> <scriptclass="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="http://code.jquery.com/jquery-1.8.0.min.js";></script> </head> <body> <divclass="img"></div> <ul> <!-- data-* 自定义属性 --> <!-- jquery 有一个 data 方法可以直接获取--> <lidata-class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="1.mp3">在见</li> <lidata-class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="2.mp3">长安街</li> </ul> <!-- loop="loop" 循环播放 --> <!-- autoplay 自动播放 --> <audiocontrols loop="loop"autoplay="autoplay"> <sourceclass="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="1.mp3"type="audio/mp3"></source> </audio> <spanclass="volume"data-volume="0.1">+</span> <spanclass="volume"data-volume="-0.1">-</span> <script> varaudio=$("audio").get(0); //监听 音频播放 $(audio).on("play",function(){ $(".img").addClass("runing"); }); //监听 音频暂停 $(audio).on("pause",function(){ $(".img").removeClass("runing"); //暂停的时候 判断当前音乐是否播放完毕 if(audio.ended){//播放完毕时 ended 状态为 true audio.currentTime=0;//设置因为进度为 0 audio.class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="2.mp3"; //修改音乐播放地址 audio.play(); //播放 } }); $(".volume").on("click",function(){ //取出自定义属性上的 值,用来区分 加 减 varvolume=audio.volume+$(this).data("volume"); if(volume>1){ volume=1;//声音最大为 1 } if(volume<0){ volume=0;//最小为 0 0 为静音 } audio.volume=volume; }) $("li").on("click",function(){ varsrc=$(this).data("src"); //设置音频的播放时间 audio.currentTime=0; audio.src=src; audio.play();//播放 // audio.pause(); //暂停 }); </script> </body></html>
原文作者:祈澈姑娘
技术博客:https://www.jianshu.com/u/05f416aefbe190后前端妹子,爱编程,爱运营,爱折腾。
坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,欢迎大家一起探讨交流。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦