js实现音乐播放器中点击歌名切歌

JavaScript029

js实现音乐播放器中点击歌名切歌,第1张

1、支持循环、随机播放

2、在播放的同时支持图片的旋转

3、支持点击进度条调整播放的位置,以及调整音量

4、显示音乐的播放时间

5、支持切歌:

看一个大佬写的一个音乐播放器觉得好厉害,就想着来研究一下,碍于能力有限,琢磨了一天写了一个简单的歌词同步。

话不多说,上栗子:

效果就是这样,因为没写样式直接用的H5的audio标签和控件,所以很简陋,而且不同浏览器还有不一样的样式。。。不要在意这些细节,我们的重点是让歌词同步显示出来。

上HTML码:

很简单就一个audio和一个显示歌词的div。

(不要问我为什么js写在外面,我怕你一页看不完T_T)

下面上js文件:

完结~

总结一下:很简单基本什么都没有,歌曲文件在本地,需要手动push每一行歌词进去,这个有点恶心,毕竟还不会从服务器加载歌词,只能用这个最笨蛋的法子。

虽然贴到这感觉工作量不大,但我这菜狗子还是调了大半天才让歌词同步显示出来 。。。唉

Ps:如果的你lrc不是这个样子:“[00:23.076]听说白雪公主在逃跑”

而是这个样子:

“[00:23.076]听[00:23.336]说[00:23.592]白[00:23.826]雪[00:24.061]公[00:24.321]主[00:24.586]在[00:24.921]逃[00:25.175]跑[00:25.745]”

还是别寻他法吧。 哈哈

如果你是个小白,这个方法可以看看,如果你是大神,,,(哪位大神临幸我了,求抱大腿)

 分析一下过程:

 js 中控制的播放器 ID 指的是播放器 object 的 id,而非网页中显示播放器的 div 的 id。在这里,ck.js 中默认的 object 的 id 是:ck + 传入的容器id,比如你的播放器调用代码为:

那么:很明显,你的播放器将填充到 video 这个容器中,js 中控制的播放器互动的 ID 应该是什么呢,对,就是:ckvideo。

另外:由于 ck.js 中默认有 ID 值为:ckvideo,那么,如果你在调用播放器时没有指定 ID 的话,那么,控制播放器的 js 互动 ID 就是:ckvideo。

简单点说,就是用于控制播放器的 js 中用的 ID 需要在网页播放器 div 的 id 前加上两字母:ck,如果你没指定 div 的 id,那么播放器的 Object ID 就是:ckvideo.