From 74793bb2d64e4cc98083564084df4d17839c66c9 Mon Sep 17 00:00:00 2001 From: Anatoly Date: Fri, 31 Dec 2021 00:55:07 +0300 Subject: [PATCH] More logical syncronisation --- src/interfaces.ts | 1 + src/views/Room/Index.vue | 8 +++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/interfaces.ts b/src/interfaces.ts index eb606c0..083f8c2 100644 --- a/src/interfaces.ts +++ b/src/interfaces.ts @@ -7,4 +7,5 @@ export interface Room { downloaded?: boolean; downloadedAt?: Date; position: number; + syncedAt: Date; } diff --git a/src/views/Room/Index.vue b/src/views/Room/Index.vue index ff0cfd9..fea3076 100644 --- a/src/views/Room/Index.vue +++ b/src/views/Room/Index.vue @@ -71,9 +71,8 @@ export default defineComponent({ this.positionInterval = setInterval(async () => { if (this.playing) { const serverPosition = await getPosition(this.id); - // this.room.position = element.currentTime; - if (Math.abs(this.room.position - serverPosition) > 2) { - this.room.position = serverPosition; + // console.log(`L: ${element.currentTime}; S: ${serverPosition}`); + if (Math.abs(element.currentTime - serverPosition) > 2) { element.currentTime = serverPosition; console.log('Synced'); } @@ -83,8 +82,7 @@ export default defineComponent({ }, seeked() { const element = this.$refs.video as HTMLVideoElement; - const position = element.currentTime; - setPosition(this.id, position); + setPosition(this.id, element.currentTime); }, }, });