问题描述:当加载的时候获取video对象的duration时长为NaN?
解决办法:
1.直接在定时函数中获取:
setInterval(function(){
console.info(video.duration);
span.innerHTML=video.duration;
},1000);
2.直接监听canplay事件获取:
canplay:当浏览器能够开始播放指定的音频/视频时,发生 canplay 事件。
video.oncanplay=function(){
console.info(video.duration);
span.innerHTML=video.duration;
}
3.onloadedmetadata :事件在指定视频/音频(audio/video)的元数据加载后触发。
视频/音频(audio/video)的元数据包含: 时长,尺寸大小(视频),文本轨道。
video.onloadedmetadata=function(){
console.info(video.duration);
span.innerHTML=video.duration;
}
以上3种方法均可以获取当前的视频时长duration.