video.js无法获取视频总时长

        var options = {
            // controls: 'control',
            controls: false,
            preload: 'auto',
            playsinline: true,
            poster: "http://shortmeetadmin.oss-cn-beijing.aliyuncs.com/1515394799463",
        };

        var player = videojs('video', options, function onPlayerReady() {
            videojs.log('Your player is ready!');
            this.play();
          
            console.log(this.duration())    //总是 NaN
        });

https://github.com/videojs/vi...

http://docs.videojs.com/tutor...

阅读 11.5k
3 个回答
var player = videojs('my-video');

player.on('loadedmetadata', function () {
    var videoLength = player.duration();
    console.log(videoLength)
});

个人觉得可能有两方面原因:
1:没有设置src
2.Your player is ready,只是表明video.js做好了准备,但视频资源也许因为网速原因,压根就没加载,所以this.duration()会为NAN,你可以在loadstart监听中获取这个时长

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题