HTML5视频显示时间在Javascript -特别是秒

HTML5 video showing time in Javascript - especially seconds

本文关键字:特别是 Javascript 视频 显示 时间 HTML5      更新时间:2023-09-26

我想问在Javascript中显示HTML5视频时间的最佳方法。我可以用Javascript计算小时,分钟和秒,但是!!秒显示有时快,有时慢,这取决于射击视频。ontimeupdate事件。我希望每秒钟都能准确显示视频时间。换句话说,我想达到每秒钟精确显示时间,而不是像0:00:01显示一秒半,0:00:02显示一秒,然后0:00:03显示半秒,然后0:00:04显示一秒等等。只是随机。是否有某种方法可以精确地显示秒,或者它是无法实现的行为?

编辑:好吧,我张贴我的代码,但我不认为它会更清楚。我要求正确显示视频时间的每一秒时间,而不是某一秒快或某一秒慢。我知道有一个函数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)。如果有人能给出更精确的解决方案,我将不胜感激。

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

我也不明白你想要完成什么,因为HTML5有一个标准的视频标签(见这里)

显示秒等。

现在显示一个计时器(这是为了演示的目的,只是真的不相关,但认为它可以帮助)

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

因为我没有代码可以参考-我也会推荐这个:https://github.com/videojs/video.js/

祝你好运,如果你编辑和邮政编码,我可能能够理解更多的谢谢!