videojs的时间格式

时间:2017-01-21 08:47:58

标签: javascript reactjs date-format video.js time-format

我在反应项目中使用videojs。目前玩家的时间看起来像0:00/0:10。我想要一个时间格式为HH:MM:SS:FF(00:00:00:00)其中F是帧。我无法找到任何解决方案。有什么办法可以吗?

1 个答案:

答案 0 :(得分:1)

我不熟悉格式0:00/0:10,但您可以使用以下函数将时间(以秒为单位)转换为HH:MM:SS:FF格式:

var convertTime = function (input, fps) {
    var pad = function(input) {return (input < 10) ? "0" + input : input;};
    fps = (typeof fps !== 'undefined' ?  fps : 24 );
    return [
        pad(Math.floor(input / 3600)),
        pad(Math.floor(input % 3600 / 60)),
        pad(Math.floor(input % 60)),
        pad(Math.floor(input * fps % fps))
    ].join(':');
}

演示

&#13;
&#13;
var convertTime = function (input, fps) {
    var pad = function(input) {return (input < 10) ? "0" + input : input;};
    fps = (typeof fps !== 'undefined' ?  fps : 24 );
    return [
        pad(Math.floor(input / 3600)),
        pad(Math.floor(input % 3600 / 60)),
        pad(Math.floor(input % 60)),
        pad(Math.floor(input * fps % fps))
    ].join(':');
}

document.body.innerHTML = '<pre>' + JSON.stringify({
    5.4416555 : convertTime(5.4416555),
    126.2344452 : convertTime(126.2344452),
    1156.1535548 : convertTime(1156.1535548),
    9178.1351559 : convertTime(9178.1351559),
    13555.3515135 : convertTime(13555.3515135)
}, null, '\t') +  '</pre>';
&#13;
&#13;
&#13;

另见this Fiddle