JS音频播放器和进度条实现自定义

本文介绍了如何使用JavaScript和HTML5来创建自定义音频播放器,包括隐藏默认audio标签并覆盖样式,利用API如play()、pause()、currentTime和duration等控制音乐播放。对于进度条,推荐使用element-ui,并封装事件处理函数,通过timeupdate事件实时更新当前进度。难点在于实时显示进度,这可以通过监听timeupdate事件并转换为分秒格式保存在vuex中实现。
摘要由CSDN通过智能技术生成

修改audio跟我们之前修改文本框之类的不太一样,不能直接用CSS属性修改,我们需要先写一个默认的audio标签,然后把它隐藏,用新的标签将它覆盖掉,用写好样式后用调用API 的方式控制音乐播放。各种API网上都有,这里列几个常见的:

play()播放;pause()暂停;currentTime:当前时间;duration总时间;

针对不同的地方添加不同的事件就可以了。本质就是把默认的audio覆盖掉然后利用它的事件实现自定义。进度条可以直接用element-ui,这里建议把将事件换算成分秒的函数封装,不然后期一直CV会很难受。这里主要说两个难点,第一是要实时现实当前进度,这一点我们可以用timeupdata时间完成,这个事件会在数据改变时触发,我们通过这个函数就可以实时获取当前的进度并将它保存到vuex中,以便各个组件交互时统一使用;可以使用e.target.currentTime检测当前的进度时间,再进行转化。


```javascript
`  let au=document.getElementById("audioline");	
	au.addEventListener
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值