Videogular 显示视频的开始时间和结束时间不正确

Videogular displays incorrect start time and end time for a video

为什么 videogular 没有显示正确的视频开始时间?对于所有视频,它从 30:00 开始,应该是 00:00 并随着视频播放开始递增。

<vg-controls>
        <vg-play-pause-button></vg-play-pause-button>
        <vg-time-display>{{ currentTime | date:'mm:ss' }}</vg-time-display>
        <vg-scrub-bar>
            <vg-scrub-bar-current-time></vg-scrub-bar-current-time>
        </vg-scrub-bar>
        <vg-time-display>{{ totalTime | date:'mm:ss' }}</vg-time-display>
        <vg-volume>
            <vg-mute-button></vg-mute-button>
            <vg-volume-bar></vg-volume-bar>
        </vg-volume>
        <vg-fullscreen-button></vg-fullscreen-button>
    </vg-controls>

在图片中您可以看到视频是 62 分钟,但显示的总时间是 2 分钟,当前显示的时间是 30:12,但只播放了 00:12ss。

有什么建议可以实现吗?谢谢

Videogular 正在使用 date filter

您只需添加时区即可。

<vg-time-display>{{ currentTime | date:'mm:ss':'+0000' }}</vg-time-display>

使用'UTC'过滤器

<vg-time-display>{{ currentTime | date:'mm:ss':'UTC' }}</vg-time-display>

这适用于所有时区。

创建一个 returns 可读格式时间的函数,并在 vg-time-display 标签中使用该函数

html

<vg-time-display>{{ getTimeString(currentTime) }}</vg-time-display>

angular函数

$scope.getTimeString = function (duration ){
        var seconds = Math.floor((duration / 1000) % 60),
            minutes = Math.floor((duration / (1000 * 60)) % 60),
            hours = Math.floor((duration / (1000 * 60 * 60)) % 24);
        hours = (hours < 10) ? "0" + hours : hours;
        minutes = (minutes < 10) ? "0" + minutes : minutes;
        seconds = (seconds < 10) ? "0" + seconds : seconds;
        var timeInString;
        if (hours > 0) {
            timeInString = hours + ":" + minutes + ":" + seconds;
        } else {
            timeInString = minutes + ":" + seconds;
        }
        return timeInString;
    }