0

我正在尝试在 Express.js 中获取视频的总持续时间。下面我在 Jade 中展示了我的代码。最初,我将视频包含在网页中。

video(width='320', height='240', controls='controls')
       source(src='/images/video.mp4', type='video/ogg', id='theVideo')

然后我在单击按钮时调用以下函数。

function getCurrentTime() {
    var video = document.createElement('video');
    var time = video.duration;
    document.getElementById('myTime').value=time;
   } 

'myTime' 只是一个文本框。

input(id='myTime', size='5')

但是当我运行视频时,我得到的持续时间是 NaN。我试图阅读一些关于为什么会发生这种情况的帖子,显然它与“字节”问题或发送标头或类似问题有关。有人可以向我解释发生这种情况的原因以及如何解决吗?谢谢。

4

1 回答 1

1

尝试这个:

玉:

video(width='320', height='240', controls='controls', id='theVideo')
   source(src='/images/video.mp4', type='video/ogg')

JS:

window.addEventListener('load', function(){
     var video = document.getElementById('theVideo');
     video.addEventListener('loadedmetadata', function() {
         console.log(Math.round(video.duration));
     });
});
于 2013-04-18T09:05:38.957 回答