From 45bfc12bcf81f52049f136a420600513f470db05 Mon Sep 17 00:00:00 2001 From: Justin Halsall Date: Wed, 1 Apr 2026 12:00:00 +0800 Subject: [PATCH] allow goto to specify if it should play or pause --- src/Controller.svelte | 13 +++++++------ src/Player.svelte | 4 ++-- typings/index.d.ts | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/Controller.svelte b/src/Controller.svelte index 38292dfc..e7e430e0 100644 --- a/src/Controller.svelte +++ b/src/Controller.svelte @@ -141,13 +141,14 @@ replayer.pause(); }; - export const goto = (timeOffset: number) => { + export const goto = (timeOffset: number, play?: boolean) => { currentTime = timeOffset; - const isPlaying = playerState === 'playing'; - replayer.pause(); - replayer.play(timeOffset); - if (!isPlaying) { - replayer.pause(); + const resumePlaying = + typeof play === 'boolean' ? play : playerState === 'playing'; + if (resumePlaying) { + replayer.play(timeOffset); + } else { + replayer.pause(timeOffset); } }; diff --git a/src/Player.svelte b/src/Player.svelte index 04dcd59b..000b4082 100644 --- a/src/Player.svelte +++ b/src/Player.svelte @@ -109,8 +109,8 @@ export const pause = () => { controller.pause(); }; - export const goto = (timeOffset: number) => { - controller.goto(timeOffset); + export const goto = (timeOffset: number, play?: boolean) => { + controller.goto(timeOffset, play); }; onMount(() => { diff --git a/typings/index.d.ts b/typings/index.d.ts index 6268e7bb..74124481 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -32,5 +32,5 @@ export default class rrwebPlayer extends SvelteComponent { triggerResize: () => void; play: () => void; pause: () => void; - goto: (timeOffset: number) => void; + goto: (timeOffset: number, play?: boolean) => void; }