From 92ac966d7d0a391f2ff0c41cea9884ba10a10ad5 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Thu, 27 Mar 2025 01:59:04 +0100 Subject: [PATCH] Fix: Sonos player does not resume track on pause --- music_assistant/providers/sonos/provider.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/music_assistant/providers/sonos/provider.py b/music_assistant/providers/sonos/provider.py index b8e04218..820cd6dc 100644 --- a/music_assistant/providers/sonos/provider.py +++ b/music_assistant/providers/sonos/provider.py @@ -219,6 +219,17 @@ class SonosPlayerProvider(PlayerProvider): async def cmd_pause(self, player_id: str) -> None: """Send PAUSE command to given player.""" if sonos_player := self.sonos_players[player_id]: + active_source = sonos_player.mass_player.active_source + if self.mass.player_queues.get(active_source): + # Sonos seems to be bugged when playing our queue tracks and we send pause, + # it can't resume the current track and simply aborts/skips it + # so we stop the player instead. + # https://github.com/music-assistant/support/issues/3758 + # TODO: revisit this later and find out how this can be so bugged + # probably some strange DLNA flag or whatever needs to be set. + await self.cmd_stop(player_id) + return + await sonos_player.cmd_pause() async def cmd_seek(self, player_id: str, position: int) -> None: -- 2.34.1