diff --git a/src/lib/components/NowPlayingPanel.svelte b/src/lib/components/NowPlayingPanel.svelte index a0e3aa5..96729c5 100644 --- a/src/lib/components/NowPlayingPanel.svelte +++ b/src/lib/components/NowPlayingPanel.svelte @@ -25,7 +25,6 @@ function handleVolumeChange(volume: number) { playback.setVolume(volume); - audioPlayer.setVolume(volume); } function formatTime(seconds: number): string { diff --git a/src/lib/services/audioPlayer.ts b/src/lib/services/audioPlayer.ts index 416a40a..1e8c9ee 100644 --- a/src/lib/services/audioPlayer.ts +++ b/src/lib/services/audioPlayer.ts @@ -137,9 +137,10 @@ export const audioPlayer = new AudioPlayer(); if (typeof window !== 'undefined') { let prevTrack: Track | null = null; let prevIsPlaying = false; + let prevVolume = 1; playback.subscribe(state => { - const { currentTrack, isPlaying } = state; + const { currentTrack, isPlaying, volume } = state; // Track changed if (currentTrack && currentTrack !== prevTrack) { @@ -160,5 +161,11 @@ if (typeof window !== 'undefined') { } prevIsPlaying = isPlaying; } + + // Volume changed + if (volume !== prevVolume) { + audioPlayer.setVolume(volume); + prevVolume = volume; + } }); }