就是一个audio标签不使用自带的controls属性
首先声明一个audio 音频地址写进去
其次 获取当前这个audio
const myAudio= this.$refs.player //我的写法
myAudio.addEventListener('canplay', () => { //这个是监听音频已经加载完成 一般这个时候显示总时长
const musicTime = myAudio.duration // 获得音频时长
})
上面的canplay 是音频已经加载完成
同样的
timeupdate 是音频正在播放的事件(比如人为的点击进度条)
onended 是播放完成
手动调起播放和暂停 就只需要执行 myAudio.play()和myAudio.pause()
其他的方法可以参考http://www.w3school.com.cn/jsref/dom_obj_audio.asp
顺便说一下自写进度条的思路
就是2层div 下面一层是总进度 上面一层是当前进度(进度的多少可以在timeupdate事件中看到myAudio
.currentTime)通过设置上面一层div的宽度来展示
上面的div的宽度就是当前播放的时间占总时间的多少 按比例设置过去就ok
上面的div的宽度就是当前播放的时间占总时间的多少 按比例设置过去就ok