From: Marvin Schenkel Date: Thu, 29 Jan 2026 12:53:12 +0000 (+0100) Subject: Fix announcement loops for Sonos S1 (#3053) X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=04cdfcdf37a73c7a780fe30d8521a9e1acc5d408;p=music-assistant-server.git Fix announcement loops for Sonos S1 (#3053) Fix announcement loops for Sonos S1. --- diff --git a/music_assistant/providers/sonos_s1/player.py b/music_assistant/providers/sonos_s1/player.py index 821d9c45..4dddd07f 100644 --- a/music_assistant/providers/sonos_s1/player.py +++ b/music_assistant/providers/sonos_s1/player.py @@ -14,7 +14,7 @@ import time from collections.abc import Callable, Coroutine from typing import TYPE_CHECKING, Any, cast -from music_assistant_models.enums import PlaybackState, PlayerState, PlayerType +from music_assistant_models.enums import MediaType, PlaybackState, PlayerState, PlayerType from music_assistant_models.errors import PlayerCommandFailed from soco import SoCoException from soco.core import MUSIC_SRC_RADIO, SoCo @@ -210,9 +210,11 @@ class SonosPlayer(Player): media.uri = media.uri.replace(".flac", ".mp3") didl_metadata = create_didl_metadata(media) + is_announcement = media.media_type == MediaType.ANNOUNCEMENT + force_radio = False if is_announcement else not media.duration await asyncio.to_thread( - self.soco.play_uri, media.uri, meta=didl_metadata, force_radio=not media.duration + self.soco.play_uri, media.uri, meta=didl_metadata, force_radio=force_radio ) self.mass.call_later(2, self.poll)