Skip to content

Commit c768124

Browse files
authored
Send second play event after a play event to adjust for video player issues
1 parent a5f5110 commit c768124

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,9 +499,19 @@ export const ScenePlayer: React.FC<IScenePlayerProps> = ({
499499
const player = getPlayer();
500500
if (!player) return;
501501

502+
// delay before second play event after a play event to adjust for video player issues
503+
const DELAY_FOR_SECOND_PLAY_MS = 1000;
504+
let playingTimer: number;
505+
502506
function playing(this: VideoJsPlayer) {
503507
if (scene.interactive && interactiveReady.current) {
504508
interactiveClient.play(this.currentTime());
509+
// trigger a second script play event to adjust for video player issues
510+
clearTimeout(playingTimer);
511+
playingTimer = setTimeout(() => {
512+
if (this.paused()) return;
513+
interactiveClient.play(this.currentTime());
514+
}, DELAY_FOR_SECOND_PLAY_MS);
505515
}
506516
}
507517

@@ -522,6 +532,7 @@ export const ScenePlayer: React.FC<IScenePlayerProps> = ({
522532
player.off("playing", playing);
523533
player.off("pause", pause);
524534
player.off("timeupdate", timeupdate);
535+
clearTimeout(playingTimer);
525536
};
526537
}, [getPlayer, interactiveClient, scene]);
527538

0 commit comments

Comments
 (0)