Amy Li

video使用 loadedmetadata时不能获取到视频的总时长

window.onload = function(){  

    $("#zjson li video").each(function(index, el) {

        $(this).on('loadedmetadata',function() {

            console.log($(this));

            var totaltime = $(this)[0].duration;

            console.log(totaltime);

        });

    });

}


<video id="video3" preload="auto" poster="https://www.chinanews.com/shipin/2016/08-22/U574P883T4D663208F158DT20160822045755.jpg" src="https://video.chinanews.com/flv/2016/0822/zhiyuanzhe.mp4" loop="loop" webkit-playsinline="false"></video>

此处video标签中的preload属性应该设置为auto,设置为none时不起作用;

而将代码写在window.onload中时因页面已经将视频所有的元素都加载完成,将window.onload改成$(document).ready(function(){})时则会显示出来,由此得出结论loadedmetadata只能用于只加载完视频的元数据之后,而不能用于视频所有的因素加载完成之后。

此结论经过测试得出,若有不对之处,欢迎大家指出


评论

热度(1)