最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序獲取音頻時長與實時獲取播放進度問題

 更新時間:2018年08月28日 11:03:58   作者:夢幻般的菜鳥  
這篇文章主要介紹了微信小程序獲取音頻時長與實時獲取播放進度,文中給大家通過一個例子介紹了微信小程序音頻長度獲取的問題,感興趣的朋友跟隨腳本之家小編一起看看吧

首先在沒有播放音頻之前,居然拿不到總時長

但是在播放之后也需要設置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)
},

賦值結(jié)束后不能獲取能夠理解,在onCanplay,onPlay沒法獲取有點難以理解。

還好,我們通過setTimeout可以獲取到。

獲取到之后,還有個問題,在開發(fā)工具里,音頻播放完之后,duration不變。

偶爾出現(xiàn)的問題:但在真機上,duration變?yōu)?了,也就是第二遍播放的時候,獲取不到duration了。這個可以聲明個個變量解決。

總結(jié)

以上所述是小編給大家介紹的微信小程序獲取音頻時長與實時獲取播放進度問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

最新評論

土默特右旗| 长海县| 祁东县| 洞头县| 鄄城县| 伊金霍洛旗| 罗源县| 山东省| 青铜峡市| 乐山市| 通榆县| 西吉县| 霍山县| 定兴县| 偃师市| 阿坝县| 成安县| 河南省| 光山县| 江津市| 屏东县| 汾西县| 铁岭县| 法库县| 富锦市| 汪清县| 鄂尔多斯市| 西林县| 澄迈县| 十堰市| 芜湖县| 鄂州市| 佳木斯市| 东源县| 大田县| 土默特右旗| 泸定县| 恩平市| 三明市| 崇文区| 南开区|