小編給大家分享一下微信小程序怎么獲取音頻時長與實時獲取播放進度問題,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
我們提供的服務有:成都做網(wǎng)站、網(wǎng)站設計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、曲麻萊ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的曲麻萊網(wǎng)站制作公司
首先在沒有播放音頻之前,居然拿不到總時長
但是在播放之后也需要設置setTimeout來獲取
所以在監(jiān)聽音頻播放進度更新事件中獲取。順便獲取當前播放進度
按照官方的寫法
audioPlayed: function () { myAudio.play() setTieout(() => { myAudio.onTimeUpdate(() => { console.log(myAudio.duration) //總時長 console.log(myAudio.currentTime) //當前播放進度 }) }, 500) }
但是這兩個console都沒有觸發(fā),很是神奇
增加延遲的時間也沒有用
打斷點都沒有進去
但是!
audioPlayed: function () { myAudio.play() setTieout(() => { myAudio.currentTime myAudio.onTimeUpdate(() => { console.log(myAudio.duration) //總時長 console.log(myAudio.currentTime) //當前播放進度 }) }, 500) }
在里面寫了一個
myAudio.currentTime 或者 myAudio.duration
斷點就進去了,console也出來了
由于過于神奇,所以記錄一下
下面看下微信小程序音頻長度獲取的問題
小程序推薦使用wx.createInnerAudioContext()
創(chuàng)建的innerAudioContext
,我們也通過這個接口創(chuàng)建音頻。
音頻的長度可以通過屬性獲?。?/p>
但是,給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可以獲取到。
獲取到之后,還有個問題,在開發(fā)工具里,音頻播放完之后,duration不變。
偶爾出現(xiàn)的問題:但在真機上,duration變?yōu)?了,也就是第二遍播放的時候,獲取不到duration了。這個可以聲明個個變量解決。
看完了這篇文章,相信你對“微信小程序怎么獲取音頻時長與實時獲取播放進度問題”有了一定的了解,如果想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
分享文章:微信小程序怎么獲取音頻時長與實時獲取播放進度問題
本文URL:http://muchs.cn/article38/pgogsp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、企業(yè)網(wǎng)站制作、響應式網(wǎng)站、網(wǎng)頁設計公司、營銷型網(wǎng)站建設、網(wǎng)站內鏈
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)