diff --git a/src/lib/components/audio-loader.svelte b/src/lib/components/audio-loader.svelte index f46a025..7da7037 100644 --- a/src/lib/components/audio-loader.svelte +++ b/src/lib/components/audio-loader.svelte @@ -4,73 +4,92 @@ audio_current_time, audio_element, audio_metadata, + audio_muted, + audio_playback_rate, audio_src, + audio_start_at, + audio_volume, } from '$lib/context/audio-internals'; import type { PlayerElement } from '$lib/types/types'; import { isBoolean, isNumber } from '$pkg/type-guards'; let element: PlayerElement; - let currentTime = 0; - let muted = false; + let currentTime = $audio_start_at; + let volume = $audio_volume; - $: src = $audio_src; + let duration = 0; + let ended = true; + let muted = false; + let paused = false; + let playbackRate = 1; + + // Update stores based on bindings $: audio_element.set(element); $: audio_current_time.set(currentTime); - $: audio_metadata.update((x) => ({ ...x, muted })); + $: audio_metadata.update((x) => ({ ...x, duration, ended, paused })); + + // Update bindings based on stores + $: volume = $audio_volume; + $: muted = $audio_muted; + $: playbackRate = $audio_playback_rate; + $: currentTime = $audio_start_at; -{#key src} -