收藏
回答

InnerAudioContext无法获取duration和buffered

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug InnerAudioContext.onCanplay 工具 安卓 version 7.0.4 2.5.0

- 当前 Bug 的表现(可附上截图)

    InnerAudioContext.onCanplay 中 输出的音频实例中的duration和buffered不为0, 但是直接输出duration 和 buffered 却是0.

请问是什么原因?


    


- 预期表现


- 复现路径


- 提供一个最简复现 Demo

见代码片段

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

1 个回答

  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    2019-09-16

    跟获取的时机有关系

    2019-09-16
    有用
    回复 2
    • 白鹰
      白鹰
      2019-09-18
      什么关系?
      2019-09-18
      回复
    • 道友请留步
      道友请留步
      2019-10-11回复白鹰
      innerAudioContext.onCanplay(() => {
      //初始化duration
      innerAudioContext.duration
      setTimeout(function() {
      //延时获取音频真正的duration
      let duration = innerAudioContext.duration;
      let min = parseInt(duration / 60);
      let sec = parseInt(duration % 60);
      if (min.toString().length == 1) {
      min = `0${min}`;
      }
      if (sec.toString().length == 1) {
      sec = `0${sec}`;
      }
      that.setData({
      duration: innerAudioContext.duration,
      showTime: `${min}:${sec}`
      });
      // console.log("&&&&声音长度END" + innerAudioContext.duration)
      }, 300);
      })
      2019-10-11
      回复
登录 后发表内容