uni-app 小程序音频播放onCanplay中获取音频长度duration一直为0

74 阅读1分钟

关于uni.createInnerAudioContext()的duration音频长度获取不到问题

解决方案如下:

onLoad(option) {
    this.audio.context = uni.createInnerAudioContext();
    this.audio.context.onCanplay(() => {
        // 获取音频的播放时长(单位:秒)
        this.loadDuration()
    });
},

methods: {
    loadDuration(){
        let _this = this
         setTimeout(() => {
            if (_this.audio.context.duration === 0) {
                _this.loadDuration();
             } else {
                    // 获取到正确的duration
                console.log(_this.audio.context.duration)
             }
         }, 100);
    },
}