我想问一下在Javascript中显示HTML5视频时间的最佳方法。我可以在Javascript中计算小时,分钟和秒,但是!秒显示有时更快,有时更慢,具体取决于触发video.ontimeupdate事件。我希望每秒都能正确显示视频时间。换句话说 - 我希望每秒钟显示每秒的时间,而不是像0:00:01显示一秒半,0:00:02一秒,然后是0:00:03半秒然后0 :00:04一秒钟,等等。只是随机。有没有办法以秒为单位显示秒数,或者这是无法实现的行为?
编辑:好的,我发布了我的代码,但我不知道它会更清楚。我要求正确显示每秒视频时间的时间,而不是某些秒更快,有些则更慢。我知道有一个函数setInterval,但它与视频时间无关。这是代码:
MLDataSet trainingSet = new BasicMLDataSet(trainData);
MLDataSet testingSet = new BasicMLDataSet(testData);
RadialBasisFunction fnc[] = {new GaussianFunction(1)};
RBFNetwork rbf= new RBFNetwork(1,1,fnc);
//Create the training set and train.
MLTrain train = new SVDTraining(rbf, trainingSet);
int epoch = 1;
File f = new File("Error.csv");
PrintWriter pw = new PrintWriter(f);
StringBuilder sb = new StringBuilder();
do {
train.iteration();
System.out.println(rbf.getRBF().length+";"+rbf.getInputCount()+";"+rbf.getOutputCount());
System.out.println("Epoch #" + epoch + " Error:" + train.getError());
epoch++;
String x = String.valueOf(epoch).replace(".", ",");
String y = String.valueOf(train.getError()).replace(".", ",");
sb.append(x);
sb.append(';');
sb.append(y);
sb.append('\n');
} while((train.getError() > MAX_ERROR)&&(epoch < ITERATIONS));
我认为代码是正确的,但在触发ontimeupdate事件时存在一些不规则性。也许我有一些解决方案 - 如果按下播放按钮,则使用setInterval精确显示每秒的时间,如果暂停或停止按下 - clearInterval(intervalId)。如果有人有更精确的解决方案,我将不胜感激。
答案 0 :(得分: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/
祝你好运,如果你编辑和发布代码,我可能会更加明白了!