new Audio()获取duration时长兼容性问题

2,111 阅读1分钟

ios手机,小米自带浏览器有时候使用new Audio()方法创建音频条的时候总时长会展示不出来,所以本人是这样处理的,希望对大家用帮助

    export default{
        data(){
            return {
                duration:'00:00'
            }
        },
        methods:{
            getInit(){
                 this.ap=new Audio();
                 this.ap.src=this.audioUrl;
                 this.ap.addEventListener('play',()=>{
                     setTimeout(()=>{//这是第一种方法,播放的时候延迟一秒就可以获取
                         if(this.duration=="00:00"){
                            this.duration=this.ap.duration;
                        }
                     },1000)
                 });
                 this.ap.addEventListener('timeupdate',()=>{//第二种方法
                    if(this.duration=="00:00"){
                        this.duration=this.ap.duration;
                    }
                 })
            }
        }
    }