html中加入音乐播放器,4个小时实现一个HTML5音乐播放器

本文详细介绍了如何使用ES6+Webpack+HTML5 Audio+Sass从零开始实现一个音乐播放器,包括audio标签的属性、方法、事件,以及播放器的UI设计和事件监听,最后展示了构建音乐播放器的核心代码。
摘要由CSDN通过智能技术生成

技术点:ES6+Webpack+HTML5 Audio+Sass

这里,我们将一步步的学到如何从零去实现一个H5音乐播放器。

首先来看一下最终的实现效果:Demo链接 =>

界面:

23a9cded65d1

skPlayer

接下来就步入正题:

要做一个音乐播放器就要非常了解在Web中音频播放的方式,通常都采用HTML5的audio标签

关于audio标签,它有大量的属性、方法和事件,在这里我就做一个大致的介绍。

属性:

src:必需,音频来源;

controls:常见,设置后显示浏览器默认的audio控制面板,不设置默认隐藏audio标签;

autoplay:常见,设置后自动播放音频(移动端不支持);

loop:常见,设置后音频将循环播放;

preload:常见,设置音频预加载(移动端不支持);

volume:少见,设置或返回音频大小,值为0-1之间的一个浮点数(移动端不支持);

muted:少见,设置或返回静音状态;

duration:少见,返回音频时长;

currentTime:少见,设置或返回当前播放时间;

paused:少见,返回当前播放状态,是否暂停;

buffered:少见,一个TimeRanges对象,包含已缓冲的时间段信息,即加载进度。该对象包含一个属性length,返回一个从0开始的数表示当前缓冲了多少段音频;还包含两个方法,start()、end(),分别需要传入一个参数,即传入音频已加载的第几段,从0开始。start()返回该段的起始时间,end()返回该段的终点时间。举例:即传入0,第一段的起始是0,终止时间是17,单位秒;

属性就介绍到这里,可能还有一些比较少用的属性如:playbackRate等,在视频播放中可能会用到,我就暂不讲解。

方法:

play():开始播放音频;

pause():暂停播放音频;

事件:

canplay:当前音频可以开始播放(只加载了部分buffered,并未全部加载完成);

canplaythrough:可以无停顿播放(即音频全部加载完成);

durationchange:音频时长发生变化;

ended:播放结束;

error:发生错误;

pause:播放暂停;

play:播放开始;

progress:音频下载过程中触发,事件触发过程中可以通过访问audio的buffered属性获取加载进度;

seeking:音频跳跃中触发,即为修改currentTime时;

seeked:音频跳跃完成时触发,即为修改完成currentTime时;

timeupdate:音频播放过程中触发,同时currentTime属性在同步更新;

事件就介绍到这里,可能还有一些不常用的事件暂不讲解。

最后再讲解一下 一个音频从开始加载到播放结束过程中,所触发的事件流以及我们在不同时间段可以操作的属性:

loadstart:开始加载;

durationchange:获取到音频时长(此时可以获取duration属性);

progress:音频下载中(将伴随下载过程一直触发,此时可以获取buffered属性);

canplay:所加载的音频足够开始播放(每次暂停后开始播放也会触发);

canplaythrough:音频全部加载完成;

tim

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值