微信小程序音頻長度獲取的問題



小程序推薦使用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了。這個可以聲明個個變量解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM