Vue-ondurationchange(监听歌曲是否已经加载完成)

详情可见

问题:切换歌曲的时候歌曲时间有时候不会修改为正确的时间,那是因为歌曲还未加载完成,只有歌曲加载完成之后才能获取到歌曲的总时长
注意点: 在iOS中系统不会自动加载歌曲, 所以oncanplay不会自动执行
 
解决方案: 如何监听iOS中Audio的歌曲是否已经准备好了, 通过ondurationchange事件来监听
         ondurationchange事件什么时候执行: 当歌曲加载完成之后执行, 因为只有歌曲加载完成之后才能获取到歌曲的总时长

watch

watch:{
	currentIndex () {
  	//歌曲加载完成后才会执行
      this.$refs.audio.ondurationchange = () => {
      	//获得歌曲时间
        this.totalTime = this.$refs.audio.duration
        //如果正在播放则切换到下一首继续播放 暂停则下一首暂停
        if (this.isPlaying) {
          this.$refs.audio.play()
        } else {
          this.$refs.audio.pause()
        }
      }
    }
}