收藏
回答

InnerAudioContext 设置src后什么时候可以获取duration?

现场景为页面中存在多个音频

当前实现方式为页面调用wx.createInnerAudioContext(), 点击按钮调用方法设置对象src,然后进行播放

出现问题:场景中可能会出现音频文件不存在的情况,即链接无实际音频文件。监听onError方法无任何回调,通过设置src后获取duration属性判断时长是否为0,当文件不存在时可以正常判断,当文件存在时,依旧返回0。

innerAudioContext.src = src
if (!innerAudioContext.duration) {
  wx.showToast({
    title: '音频文件错误',
    icon: 'none'
  })
  return
}
this.setData({ play })
innerAudioContext.play()


当调用两次该方法后(第三次)可正常返回duration。多次测试均为调用2次后正常

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

1 个回答

  • 疯狂的小辣椒
    疯狂的小辣椒
    2020-08-11

    你好,在监听播放音频可以播放状态时InnerAudioContext.onCanplay获取duration试试,可以加个定时器延迟看看。


    2020-08-11
    有用
    回复 3
登录 后发表内容
问题标签