https://www.tomhuwd.com/core-content-3908.html
想要在页面初始化渲染时,获取音频的总的时长
想要做一个音乐播放效果,可是我动态改变audio的src后,在mounted里面获取autio的duration一直为NaN,结果我在updated 中获取duration,就可以得到正确的值,但是,我需要的效果时,已进入音乐播放的内页,时间就需要显示,结果,我做了下面的方法
- 首先 在data中随便定义一个变量tap
data () { return { tap: false // 它是用来执行watch里面的代码 }}
- 然后再mounted中改变 tap的值
mounted () { this.$nextTick(() => { this.tag = !this.tag })}
- 监视watch tap
watch: { tap () { this.musicLabel.load() // 每一次动态改变aduio的src后,都要load一次 this.musicLabel.oncanplay = () => { this.currentMusicTime = this.caculateTime(this.musicLabel.duration) // 这个caculateTime() 只是为了把音频的的时间格式化 } }}
- 这样就可以了!