问题
在JS中获取不到video
的总时长
var duration = video.duration;
console.log(duration);//NAN
输出的结果是:NAN
原因
如果媒体数据可用但长度未知,则video.duration的值为 NaN
解决方案
因为媒体数据可用但长度未知,所以 得让video在第一帧
数据加载完成后查询,才能获得到视频总时长
解决方案:给视频video 注册 loadeddata 事件
loadeddata 事件
在媒体当前播放位置的视频帧(通常是第一帧)加载完成后触发。
video.addEventListener("loadeddata", function(){
var duration = video.duration;
console.log(duration);//110
});
得到了视频video的总时长为:110秒
备注
此解决方法只是该问题的一种解决方案。