From d19e9601d31737eb401202fd72684c498669f459 Mon Sep 17 00:00:00 2001 From: FengFan Date: Tue, 17 Mar 2020 03:10:24 +0800 Subject: [PATCH] feat: fix timer --- packages/player/src/player.ts | 6 +++--- packages/utils/src/tool.ts | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/player/src/player.ts b/packages/player/src/player.ts index 1d627f74..80b2799b 100644 --- a/packages/player/src/player.ts +++ b/packages/player/src/player.ts @@ -7,6 +7,7 @@ import { ContainerComponent } from './container' export class PlayerComponent { data: SnapshotData[] + delayTime = 5000 speed = 0 index = 0 frameIndex = 0 @@ -67,7 +68,7 @@ export class PlayerComponent { if (currTime >= nextTime) { this.frameIndex++ - this.progress.updateTimer((endTime - nextTime) / 1000 + 1) + this.progress.updateTimer((endTime - nextTime + this.delayTime) / 1000) const progress = (this.frameIndex / this.frames.length) * 100 if (progress - this.lastPercentage > this.getPercentInterval()) { @@ -117,9 +118,8 @@ export class PlayerComponent { this.progressState = reduxStore.getState()['progress'] const { startTime, endTime } = this.progressState - const delay = 500 const s = +startTime - const e = +endTime + delay + const e = +endTime + this.delayTime const result: number[] = [] diff --git a/packages/utils/src/tool.ts b/packages/utils/src/tool.ts index f9da58a4..f88dfab7 100644 --- a/packages/utils/src/tool.ts +++ b/packages/utils/src/tool.ts @@ -1,4 +1,7 @@ export function secondToDate(ms: number) { + if (ms <= 0) { + ms = 0 + } const [h, m, s] = [Math.floor(ms / 3600), Math.floor((ms / 60) % 60), Math.floor(ms % 60)] const timeStr = [h, m, s].map(i => (i <= 9 ? '0' + i : i)).join(':')