第九周,正好我正在整理个人博客,就教大家怎么给博客添加音乐播放器。
已经把这个功能添加到我的博客:http://www.cwyaml.top 点击 听音乐 看一下效果吧!!
有人就说了,添加个音乐播放器还不很容易吗?添加个 <audio>
标签不搞定了:
|
|
之间的文字会在浏览器不支持该标签时显示出来
在网页中就会出现这个一个东西:
也挺简洁的哈!!
但是,如果是这样的话,我还有更好的选择:
网易云音乐外链播放器
1、打开这个链接:网易云音乐
2、搜一首你喜欢的歌,进入播放页面;
3、已经看到了吧,专辑封面下面出现了“生成外链播放器”,我们点进去就会出现:
4、好吧(尴尬!),我们换一首赵雷的 成都
5、点击 生成外链播放器 ,就会看到:
6、有 播放器尺寸、是否自动播放等功能可以选择,方框中会出现预览样式。选好后,把下面的代码放在你的页面中就可以了。。
不仅单首歌可以生成外链播放器,歌单也可以,你可以自己尝试一下。(网易真良心企业)
这可比 <audio>
标签好看多了吧!但是很明显有几个缺点:
1、你已经看到了,并不是所有的音乐都可以用,有版权限制;
2、样式不能修改,可能与你页面的风格不符;
总之就是: 不能实现 充分的可定制性 。
自己动手丰衣足食,我们一起来写一个音乐播放器吧!!
实现功能
先说说做出来是什么效果吧。在页面中不出现播放器的样式,而是通过点击页面中某个元素触发,再次点击可以切换歌曲。就这些吧,具体做着再说。。
布局
其实并没有布局。页面只有一个按钮。
样式
强行加个样式,要对得起 强迫症 这个称号,一个按钮也要做的漂亮一点。
JS部分
思路就是,点击按钮后,创建一个 <audio>
标签添加到页面中。
1、要做音乐播放器,当然我们要有音乐才行。用一个数组来放音乐外链:
制作音乐外链的方法:
下载歌曲,然后上传到云端存储空间(我用的是 七牛云存储), 就会自动生成外链。所以说你只要能下载到歌曲文件,就都能拿来当背景音乐,至于怎么下载,我就不说了。。
2、然后写一下怎么在页面创建 <audio>
标签吧。
index
属性主要用来记录当前播放的是第几首歌、loop
属性不让歌曲循环播放、然后把这个audio
添加到 body 中。
3、写一下按钮的 onclick
事件:
现在点击按钮后 audio
标签就会被添加到页面中。但是歌曲并不会播放,因为它现在还是这个样子:
src
并没有值,所以肯定不会播放了。
4、下面就来给 src
属性赋值吧。因为有三首歌曲,我们还要判断一下添加哪个外链。
先获取到刚才添加的 audio
标签,如果获取到了,取得 index
值,即当前播放的是第几首歌(从 0 开始)。
思考一下: 第一次点击 index = 0、第二次 index = 1、第三次 index = 2,这时我们的三首歌都播放过了,点击第四下时 index = 3,应该停止播放的,所以 songs = [] 中要有一个占位的 空元素 。当点第五次时,歌曲列表要重新循环,所以让此时的 index = 0。
逻辑还是很简单的。。
细节处理
1、点我们第一次点击按钮时,向页面中添加了一个 audio
标签,第二次点击时,就不必再次添加了,只需要修改 src
值就可以了。所以上面的代码要修改:
添加前先判断一下 audio
是否存在。
2、最后做一下简单的封装:
这就是一个完整的音乐播放器了。
3、调用其实就是执行 go()
函数,更新歌曲就修改一下 songs[]
数组就行了。。
终于写完了!!
文章中如果有错误欢迎指出,非常乐意和大家一起交流。
完整代码可到 JavaScript-Programs 下载