uni-app createInnerAudioContext onCanplay监听并不是完全加载完成

81 阅读1分钟

起初是一个音频控件的实现,内容包含了音频的播放以及学时的记录,上一个学时通过接口返回获取的。 1、拿到学习记录时长用seek进行时间组件加载 this.audioContext.seek(parseInt(this.lastTime)) 2、监听播放的时间 this.audioContext.onTimeUpdate(()=>{this.lastTime =parseInt(this.audioContext.currentTime 3、播放后记录30秒记录一次学时 this.audioContext.onPlay(async ()=>{ this.audioplayFlag = true clearInterval(this.timerId) this.timerId = setInterval(()=>{ this.playTimes += 1;/间隔记录学习时长/ if(this.playTimes % 30 === 0){this.record()}},1000)})

说实话吧一开始如果通过onCanplay的监听数据来看根本无法满足初始化后跳转到指定时间去播放,因为onTimeUpdate会直接从0开始,最后反复尝试发现,设置个1秒的延迟给组件一个加载的过程就能实现完美的继续播放效果了。

第一次分享内容,还请各位大佬们给点意见。