收藏
回答

wx.createInnerAudioContext()音频时长

框架类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 wx.createInnerAudioContext() 工具 开发工具 1.9.93
this.innerAudioContext.src = res.examInfo.audiovideo;

//duration Number 当前音频的长度(单位:s),只有在当前有合法的 src 时返回
let audioDuration = this.innerAudioContext.duration;



各位小伙伴,如上面代码,.mp3格式的路径,duration返回的始终是0.

是我的代码有问题还是要求固定格式的音频才会返回时长呢。


我的音频地址是http://olrnvk5q7.bkt.clouddn.com/mp3/bobby%20vinton%20-%20Mr.%20Lonely.mp3,难道是我的音频地址不合法?


回答关注问题邀请回答
收藏

5 个回答

  • 来呀 xoxo
    来呀 xoxo
    2018-04-19

    碰到同样的问题 在onTimeUpdate里都获取不到 duration 仅限 ios

    附上代码片段 wechatide://minicode/ok63yNms65Yl

    2018-04-19
    有用
    回复
  • keenjaan
    keenjaan
    2018-04-17

    我试过其他机型了,iphone6s,小米6、小米5s、魅族不知什么机型,在onCanplay里获取的时长都为0。


    你测试过其他机型没?

    2018-04-17
    有用
    回复
  • 印佬
    印佬
    2018-04-17

     在小程序开发工具和真机有差别。原来在开发工具中调试一直是获取不到duration的,但是在真机中通过onCanplay可以获取到duration(iPhone 8P,微信6.6.6)。所以我认为是开发工具本身问题;原来采用的setTimeout只有在网速非常好的情况下才行,

    2018-04-17
    有用
    回复
  • keenjaan
    keenjaan
    2018-04-17

    确实头疼,试了一下,按照我们需求初始化要获得时间,只能用setTimeout了,试了下安全时间100ms吧。

    2018-04-17
    有用
    回复
  • 达达XxjzZ
    达达XxjzZ
    2018-03-22

    我也遇到这个问题了。

    目前临时两个方案:

    1、setTimeout

    2、在onTimeUpdate获取duration


    2018-03-22
    有用
    回复 2
    • 2019-03-18

      两个方法都试过了,还是没用,会是机型和系统的问题吗?,我用的是安卓9。

      2019-03-18
      回复
    • YU,
      YU,
      2022-11-23回复
      我也遇到了 而且是在播放时长超过7分钟的 音频会出现获取不到duration问题 时长少的 不会 不知道是不是时长过长问题还是mp3 本身问题啊
      2022-11-23
      回复
登录 后发表内容