我们都知道HTML5给我们提供了"controls"这个插件,可是这个插件却比较丑,还不能实现上一首下一首的播放,以及进度条的手动改变等功能,那么如何自己设计一个控制音乐播放的控制器呢?下图是我设计的控制器。
1.获取总时间以及当前播放时间的实现:
var oTotal=document.getElementsByClassName("total_time")[0];
window.οnlοad=function () {
oAudio.addEventListener("canplay", function() {
oTotal.innerHTML=format(oAudio.duration); //获取总时间
});
}
这里添加监听器的目的是解决获取到的总时间显示为NaN:NaN,其中还用到一个format函数,因为通过oAudio.duration获得的是以秒为单位的数据,所以要将其转化成分:秒的格式需要一个格式转换函数:
//时间的格式化
function format(t) {
var m=Math.floor(t/60);
var s=Math.floor(t%60);
if(m<=9) //小于10时,在前面填0
m="0"+m;
if(s<=9)
s="0"+s;
return m+":"+s;
}
2.播放、暂停上一首下一首的设置:
此功能的实现比较简单,在JS中只需通过onClick点击事件给audio的src赋值。
HTML代码: