从文件中单独获取HTML5视频的持续时间。

10 浏览
0 Comments

从文件中单独获取HTML5视频的持续时间。

我正在构建一个带有自定义界面的HTML5视频播放器,但是我在显示视频时长信息方面遇到了一些问题。

我的HTML代码很简单:

  • 0 of 0

我使用的JavaScript代码来获取和插入时长是:

var duration = $('#duration').get(0);

var vid_duration = Math.round(video.duration);

duration.firstChild.nodeValue = vid_duration;

问题是没有任何反应。我知道视频文件中有时长数据,因为如果我使用默认控件,它会正常显示。

但是真正奇怪的是,如果我在代码中加入alert(duration):

alert(duration);

var vid_duration = Math.round(video.duration);

duration.firstChild.nodeValue = vid_duration;

那么它就可以正常工作(除了弹出的烦人提示框)。有没有什么想法是这里发生了什么,或者我该如何修复它?

更新:好吧,虽然我还没有完全解决这个问题,但我找到了一个处理我的最大关注点(用户体验)的解决方法。

首先,视频直到观众点击播放按钮后才开始加载,所以我假设时长信息在此之前无法获取(我不知道如何解决这个特定问题...尽管我认为这可能涉及单独从视频中加载视频元数据,但我甚至不知道是否可能)。

因此,为了解决没有时长数据的问题,我决定在点击播放之前完全隐藏时长信息(实际上是隐藏整个控件)。

话虽如此,如果有人知道如何单独加载视频文件的元数据,请分享一下。我认为这应该完全解决这个问题。

0