收藏
评论

createInnerAudioContext获取duration为0的解决方案


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


原因:

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


解决方案:

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

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


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

最后一次编辑于  2018-06-14
收藏

4 个评论

  • Elon Musk
    Elon Musk
    2019-02-26

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

    你准备怎么判断?


    2019-02-26
    赞同
    回复
  • 郭
    2018-09-30

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

    2018-09-30
    赞同
    回复 1
    • |
      2021-07-27
      模拟器上有千万种方法拿到,真机有千万种方法 让你拿不到,全tm是0,天天让你吃灵丹,然你秃头,他们最后好植入植发广告
      2021-07-27
      回复
  • Woker Wong
    Woker Wong
    2018-08-02

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

    2018-08-02
    赞同
    回复
  • 期待GPT
    期待GPT
    2018-06-23

    没用

    2018-06-23
    赞同
    回复
登录 后发表内容