本文实例为大家分享了js实现音乐播放器的具体代码,供大家参考,具体内容如下
音乐播放的主要js代码
音乐数据的数组对象
想向前端网页提供数据,并且为后面的js代码提供了音乐路径
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
全局变量
1 2 3 4 5 6 |
|
自调用函数
主要功能是通过循环遍历使用html字符串向前端动态的添加音乐数据,并初始化播放源(currentIndex标记)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
添加点击事件
循环遍历的给所有的音乐对象添加点击事件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
当然,不可能一次播放多个音乐,所以在播放当前音乐时将上一首音乐清除(封装方法见下)
封装方法
1.清除上一首歌曲方法
2.开始播放方法(同时将全局变量isplay设置为true)
3.暂停播放方法(同时将全局变量isplay设置为false)
4.将总时长s转变成mm:ss
5.将大小B装化为MB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
播放控制按钮
就是暂停和播放按钮
判断全局变量isplay,如果是true说明当前正在播放歌曲,点击就会暂停,反之就会播放
1 2 3 4 5 6 7 8 |
|
将当前歌曲的播放时长与总时长在界面上动态改变
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
为进度条绑定进度改变事件
原理很简单,通过上面的时间变化求得百分比,设置为进度的百分比就OK了
1 2 3 4 5 6 7 8 9 10 |
|
为播放器绑定播放完成事件以及上下首的切换
同意要清除上一首歌的播放状态,改变全局变量currentIndex就可以实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
通过进度条控制歌曲播放
对鼠标进行监听,得到鼠标最后的落点,计算出进度条的起始位置与该点占据总长度的比例,然后简单的数学运算,我们知道歌曲总长度就很清楚的得到鼠标落点的歌曲该播放的位置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|