小程序
小游戏
企业微信
微信支付
扫描小程序码分享
希望在音频未播放前获取音频时长,目前测试在onCanplay回调中获取的audio.duration为0,在回调中延迟一秒获取的audio.duration开发工具显示正常,但偶尔也会是0,真机一直显示0,只有在播放后onCanplay回调中才能打印出音频时长
社区可以搜到很多类似问题最早到3月份,但现在一直未解决,希望微信重视下,在音频播放前获取到时长应该是有很多应用场景的
机型:mix2s 基础库:2.9.3
代码片段: https://developers.weixin.qq.com/s/ATLCeQmv7qci
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
2023年了还没有解决,今天测试在真机上还是0,开发者工具中可以定时调用获取到
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
_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); });
无力吐槽,这个bug这么久了还不解决,而且这么多人反应
同问。目前解决了吗?
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
2023年了还没有解决,今天测试在真机上还是0,开发者工具中可以定时调用获取到
_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); });
无力吐槽,这个bug这么久了还不解决,而且这么多人反应
同问。目前解决了吗?