diff --git a/frontend/shared/AudioWave.svelte b/frontend/shared/AudioWave.svelte index eaf6a7c..e2107bf 100644 --- a/frontend/shared/AudioWave.svelte +++ b/frontend/shared/AudioWave.svelte @@ -6,9 +6,9 @@ export let audio_source: HTMLAudioElement; let audioContext: AudioContext; - let analyser; - let dataArray; - let animationId; + let analyser: AnalyserNode; + let dataArray: Uint8Array; + let animationId: number; let is_muted = false; $: containerWidth = `calc((var(--boxSize) + var(--gutter)) * ${numBars})`; @@ -51,14 +51,16 @@ animationId = requestAnimationFrame(updateBars); } - function togglePlayPause() { - if (is_muted) { - audio_source.muted = false; - } else { - audio_source.muted = true; - } - is_muted = !is_muted; - } + function toggleMute() { + if (audio_source && audio_source.srcObject) { + const audioTracks = (audio_source.srcObject as MediaStream).getAudioTracks(); + audioTracks.forEach(track => { + track.enabled = !track.enabled; + }); + is_muted = !audioTracks[0].enabled; + } + } +