收藏
评论

createInnerAudioContext获取duration为0的解决方案


很多人在做 wx.createInnerAudioContext 音频播放获取时长 duration 属性都为0,这里说下原因和解决方案


原因:

       由于音频文件播放需要时间,文件不固定的情况下,延迟时间不一致。


解决方案:

       1、使用定时器在onPlay事件里面延迟获取,推荐使用setInterval,获取到后再销毁定时器

       2、使用自带onTimeUpdate事件,在回调里面获取时长


如果我的方案对您有帮助,请抖一抖小手点一下赞,谢谢

最后一次编辑于  2018-06-14  (未经腾讯允许,不得转载)
复制链接收藏赞 1

4 个评论

  • wish
    wish
    2018-06-23

    没用

    2018-06-23
    赞同
    回复
  • Woker Wong
    Woker Wong
    2018-08-02

    电脑模拟器上可以,真机测试不行

    2018-08-02
    赞同
    回复
  • 郭
    2018-09-30

    真机上只有播放的时候在onTimeUpdate里才能拿到

    2018-09-30
    赞同
    回复
  • Elon Musk
    Elon Musk
    02-26

    那你知道确定取到是当前的时长呢? 因为如果上一个播放过 你去取的话  取到的是上一个的时长,如果没有上一个播放过,取到的就是0

    你准备怎么判断?


    02-26
    赞同
    回复