H5编写Audio音乐播放器——李帅醒博客
来源:互联网 发布:2017淘宝总额 编辑:程序博客网 时间:2024/04/30 01:55
今天教大家使用html5 Audio标签实现音乐播放器,模仿QQ音乐、天天动听等类似效果。这是我当年刚接触H5的一个小demo,适合初学者初考,代码也有很大的优化空间。
- audio
各大浏览器对音乐格式的支持情况
属性
常用的事件
注意事项:
1.由于音乐文件加载需要事件,所以不能立即取到audio.duration;
2.需要封装一个函数判断音乐播放完毕。
3.因为是移动端需要用rem进行自适应。
JS代码:
源码地址,可以去下载看看 http://download.csdn.net/download/wcslb/9740065
fn();function fn(){var w = window.innerWidth / 30;var html = document.querySelector('html');html.style.fontSize = w + 'px';};window.onresize = fn;$("#footer").load("footer.html");//轮播图var mySwiper = new Swiper('.swiper-container', {// 环路loop : true,//分页器pagination : '.swiper-pagination',paginationClickable :true,})// 当前播放的歌曲编号var num=0;var audio=document.querySelector("audio");$(".songMenu").on('click',function(){ $("#songMenu").slideDown("fast");})$(".off").on('click',function(){$("#songMenu").slideUp("fast");});$("main").add("header").on('click',function(){$("#songMenu").slideUp("fast");})var musicArr=["mp3/袖手旁观.mp3","mp3/莫文蔚 (Karen Mok) - 当你老了.mp3","mp3/阿肆 - 我在人民广场吃炸鸡.mp3"]//音播放开关乐$(".stop").on('click',function(){if(audio.paused){Index(num);$("#dog").attr("class","dog");$(".stop").html("");}else{audio.pause();$("#dog").removeAttr("class","dog");$(".stop").html("");}})// 上一曲$(".MovePrevious").on('click',function(){num=(3+--num)%3;Index(num);});//下一曲$(".MoveNext").on('click',next);function next(){num=(++num)%3;Index(num);}//点击主页歌单$(".songMenu li").on('click',function(){num=$(this).index();Index(num);})//点击右侧歌单$(".page2 li").on('click',function(){num=$(this).index();Index(num);})//重播$(".playback").on('click',function(){audio.currentTime=0;audio.play();})$(".soundOff").on('click',function(){audio.muted ? $(".soundOff").html("") : $(".soundOff").html("");audio.muted=!audio.muted;})function Index(num){//开始播放歌曲audio.src=musicArr[num];$(".stop").html("");audioPlay(musicArr[num],next);playingStyle();}function playingStyle(){// 主页歌单$(".Mname").css("color","#fff");$(".Msonger").css("color","#bbbab9");$(".songMenu li").eq(num).find("span").css("color","#955ebe");// 右侧歌单$(".Pname").css("color","#fff");$(".Psonger").css("color","#bbbab9");$("#page2 li").eq(num).find("span").css("color","#955ebe");//顶部信息$(".name").html($(".Pname").eq(num).html());$(".author").html($(".Psonger").eq(num).html());}function audioPlay(soundPath,callback){ /*判断声音是否播放完成,播放完成之后执行回调函数*/ audio.src=soundPath; audio.play(); if(callback != undefined){ var is_playFinish = setInterval(function(){ if(audio.ended){ callback(); window.clearInterval(is_playFinish); } if (!isNaN(audio.duration)) { var timeValue = audio.duration; //音乐时间 var m=parseInt(timeValue/60); var s=parseInt(timeValue%60); s<10 ? s="0"+s : s=s; $(".startTime").html(m+":"+s); //当前播放时间 var NowtimeValue = audio.currentTime; var nowM=parseInt(NowtimeValue/60); var nowS=parseInt(NowtimeValue%60); nowS<10 ? nowS="0"+nowS : nowS=nowS; $(".endTime").html(nowM+":"+nowS);// 用时间比来获取进度条的值 var progressValue =100*(audio.currentTime/audio.duration); // $("progress").val(progressValue); }; }, 10); }}(我吃酸萝卜 新浪微博http://www.weibo.com/wcslb ---李帅醒著)
0 0
- H5编写Audio音乐播放器——李帅醒博客
- H5,Audio音乐播放器(移动版)
- html5,audio音乐播放器
- html5,audio音乐播放器
- 基于H5<audio>标签并通过js和jQuery实现网页版音乐播放器
- 微信小程序例子——使用audio组件播放音乐
- audio h5新增音频播放器
- h5 audio播放音频文件
- html5 音乐播放器 audio 标签用法
- Audio--- HTML5环形音乐播放器
- H5音乐播放器我的2.0
- h5 自定义简单的音乐播放器
- H5实现简单音乐播放器
- h5播放音乐
- API编写音乐播放器
- 博客嵌入音乐播放器
- audio的音乐播放器的播放和暂停
- HTML5之audio实战,网页音乐播放器开发
- Android性能优化之IntentService
- C语言学习日志 day1
- JavaSE 学习参考:常量
- android:windowSoftInputMode属性详解
- map容器基本操作_查找和查找的异常处理
- H5编写Audio音乐播放器——李帅醒博客
- cmd 后关闭自己
- 三次Beizer曲线拟合算法
- css 固定HTML表格的宽度
- 搜索引擎之倒排索引
- bzoj 2154: Crash的数字表格 莫比乌斯反演
- CCF 2014 9-1 相邻数对
- 133UVa救济金发放——静态链表
- netty介绍