this.data.innerAudioContext.onCanplay(() => {
// setTimeout(() => {
console.log(this.data.innerAudioContext.duration);
// }, 0)
})
输出来的是0
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | InnerAudioContext.onCanplay(function callback) | 工具 | 7.0.17 | 2.12.0 |
3 个回答
_this.data._laudioAudioContext.onCanplay(() => { if (_this.data.intervalLoadDuration) { return; } // 安卓要先play,再pause。。。。 _this.data._laudioAudioContext.volume = 0; _this.data._laudioAudioContext.play(); _this.data._laudioAudioContext.pause(); _this.data._laudioAudioContext.volume = 1; // 一般第一次获取不到。。。 _this.data.intervalLoadDuration = setInterval(() => { if (_this.data._laudioAudioContext.duration) { clearInterval(_this.data.intervalLoadDuration); console.log(_this.data._laudioAudioContext.duration) } }, 100); });
加个空的onTimeUpdate可以取到,在create后:
innerAudioContext.onTimeUpdate(() => {});
请具体描述问题出现的流程,并提供能复现问题的简单代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html