2

为什么 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。 在此处输入图像描述

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

4

3 回答 3

2

使用“UTC”过滤器

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

这适用于所有时区。

于 2015-10-29T12:13:23.453 回答
1

Videogular 正在使用日期过滤器

您需要添加时区,仅此而已。

<vg-time-display>{{ currentTime | date:'mm:ss':'+0000' }}</vg-time-display>
于 2015-08-28T09:46:51.797 回答
0

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

html

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

角函数

$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;
    }
于 2019-04-14T05:27:36.137 回答