详细问题描述
已经给 innerAudioContext.src 设置好了媒体路径,之后调用 innerAudioContext 获取音乐时长失败,返回都是0,现在暂时通过以下定时器来方法解决:
glb.gInnerAudioContext.src = encodeURI(ASSETS_URL + musicUrl)
//获取时长
let dura = setInterval(()=>{
this.allmiao = Math.floor(glb.gInnerAudioContext.duration)
// console.log('allmiao:' + this.allmiao)
if(this.allmiao){
clearInterval(dura)
}
}, 80)
即使这样有时候会获取到不正确的时长,比如300秒的音乐,返回的确实90多小时时长,不知道是不是bug,有无好的解决方法?app端、小程序端、h5端均有该问题
[IDE版本号]
HX 2.0.1
[windows版本号]
win10 教育版
App运行环境说明
[Android版本号]
android 9
[手机型号]
红米5
联系方式
sadcruiser@126.com
2 个回复
DCloud_UNI_GSQ
时长获取不到的问题是因为的方式不对:不应该在src赋值后直接获取,尝试监听如下事件后获取:onCanplay、onTimeUpdate
另外获取的值如果不正确,确实在多端都存在的话,应该是你的音频有问题,请核实一下。
带个好朋友 - IT小白
好用了吗,遇到同样的问题