2016-10-10 90 views
0

我想要求以最佳方式在Javascript中显示HTML5视频时间。我可以在JavaScript中计算几小时,几分钟和几秒钟,但!!!有时会显示秒数更快,有时更慢,这取决于发射video.ontimeupdate事件。我希望每秒都能正确显示视频时间。换句话说 - 我想要每秒精确地显示每秒的时间,而不是像0:00:01显示一秒半和0:00:02一秒,然后是0:00:03半秒,然后是0 :00:04一秒钟等等。只是随机。有没有什么方法可以秒精确地显示秒,或者它是不可实现的行为?以Javascript显示时间的HTML5视频 - 特别是秒

编辑:好的,我张贴我的代码,但我不会更清楚。我问正确地显示每秒视频时间的时间,没有一秒更快,有些更慢。我知道有一个函数setInterval,但它与视频时间无关。下面是代码:

var time=window.document.getElementById('time'); //time is element <div id="time"></div> showing the time 
var st; //show time 
video.ontimeupdate=function(){ 
    ct=parseInt(video.currentTime); //ct is current time 
    if(st!=ct) //little effort to optimize processing and showing the time 
    { 
    st=ct; 
    var hours=parseInt(st/3600); 
    var minutes=parseInt((st%3600)/60); 
    var seconds=parseInt(st%60); 
    if((''+minutes).length==1)minutes='0'+minutes; 
    if((''+seconds).length==1)seconds='0'+seconds; 
    time.innerHTML=''+hours+':'+minutes+':'+seconds; 
    } 
}; 

我认为的代码是正确的,但在射击ontimeupdate事件有些不规则。也许我有一些解决方法 - 如果按下播放按钮,然后使用setInterval精确显示每秒的时间,如果按下暂停或停止 - clearInterval(intervalId)。如果有人有更精确的解决方案,我会感激。

+1

你可以显示你已经尝试过的代码,以便我们可以评论该 – Offbeatmammal

+0

看到这个:http://stackoverflow.com/questions/12915018/how-see-on-display-minute-and-second-currenttime-video -in-HTML5的,如果使用-的jQuery – Giliapps

回答

1

我似乎没有任何代码,所以我不能真正回答这个问题。从你说的你有代码,但有问题显示正确的时间。

我也想不明白,你所要完成的事情,因为HTML5有一个标准的视频标签(见here

由此可见秒等

我们显示计时器(这是演示仅供参考真的不相关,但认为它可以帮助)

var myVar = setInterval(myTimer, 1000); 
function myTimer() { 
    var d = new Date(); 
    document.getElementById("demo").innerHTML = d.toLocaleTimeString(); 
} 

因为我有零代码由去 - 我也推荐这: https://github.com/videojs/video.js/

祝你好运,如果你编辑和发布代码我可能能够理解更多的感谢!