小程序推薦使用wx.createInnerAudioContext()創建的innerAudioContext,我們也通過這個接口創建音頻。
音頻的長度可以通過屬性獲取:

但是,給innerAudioContext賦值src后就能獲取嗎,請看下面的例子:
onLoad: function () {
bgM = wx.createInnerAudioContext();
bgM.src = 'https://upyun.lesson.bbwansha.com/dub/user/2.mp3';
console.log(bgM.duration);//0
bgM.onCanplay(()=>{
console.log(bgM.duration)//0
})
bgM.play();
bgM.onPlay(()=>{
console.log(bgM.duration)//0
})
setTimeout(()=>{
console.log(bgM.duration)//2.795102
},1000)
},
賦值結束后不能獲取能夠理解,在onCanplay,onPlay沒法獲取有點難以理解。
還好,我們通過setTimeout可以獲取到。
獲取到之后,還有個問題,在開發工具里,音頻播放完之后,duration不變。
偶爾出現的問題:但在真機上,duration變為0了,也就是第二遍播放的時候,獲取不到duration了。這個可以聲明個個變量解決。
