首页 > 建站教程 > CSS3+HTML5 >  关于audio的loadeddata事件在IOS不触发正文

关于audio的loadeddata事件在IOS不触发

我爱模板网在写一个html5歌词同步的音乐播放器时,在IOS测试,发现HTML5 Audio的loadeddata事件始终不执行,在Android下执行,而且,打印audio的readyState状态,始终是1,但是Android是4,代码如下:
<audio id="audio" :src="playSrc"></audio>

myAudio.addEventListener("loadeddata",loadeddataEv, false);

//打印状态  这里用setInterval是因为没看到状态改变事件,及onreadyStateChange,ajax是有的。
setInterval(function(){
    console.log(myAudio.readyState);
},300)

function loadeddataEv(){
    document.querySelector('#loading').style.display = 'none';
    myAudio.pause();
    addListenTouch();  //拖动进度条事件
    timeChange(myAudio.duration,'endTime');               //初始化结束时间
    timeChange(myAudio.currentTime, "startTime");        //初始化开始时间
    clicks();
    lrcSync();
}
找了很久没发现问题,后来给audio标签加上autoplay事件,发现好了,而且状态也变为了3,真奇怪,至于加上preload行不行,就没测试了:
<audio id="audio" :src="playSrc" autoplay></audio>