diff --git a/src/linkplay/bridge.py b/src/linkplay/bridge.py index 0f6e5f3..5bb32a8 100644 --- a/src/linkplay/bridge.py +++ b/src/linkplay/bridge.py @@ -192,6 +192,10 @@ async def play(self, value: str) -> None: """Start playing the selected track.""" await self.bridge.request(LinkPlayCommand.PLAY.format(value)) # type: ignore[str-format] + async def announce(self, value: str) -> None: + """Announcing the selected track.""" + await self.bridge.request(LinkPlayCommand.ANNOUNCE.format(value)) # type: ignore[str-format] + async def resume(self) -> None: """Resume playing the current track.""" await self.bridge.request(LinkPlayCommand.RESUME) diff --git a/src/linkplay/consts.py b/src/linkplay/consts.py index 16d633e..f89c142 100644 --- a/src/linkplay/consts.py +++ b/src/linkplay/consts.py @@ -78,6 +78,7 @@ class LinkPlayCommand(StrEnum): MUTE = "setPlayerCmd:mute:1" RESUME = "setPlayerCmd:resume" PLAY = "setPlayerCmd:play:{}" + ANNOUNCE = "playPromptUrl:{}" SEEK = "setPlayerCmd:seek:{}" VOLUME = "setPlayerCmd:vol:{}" PLAYLIST = "setPlayerCmd:playlist:uri:{}" diff --git a/tests/linkplay/test_bridge.py b/tests/linkplay/test_bridge.py index 100a8f1..706951e 100644 --- a/tests/linkplay/test_bridge.py +++ b/tests/linkplay/test_bridge.py @@ -121,6 +121,16 @@ async def test_player_play(): bridge.request.assert_called_once_with(LinkPlayCommand.PLAY.format("test")) +async def test_player_announce(): + """Tests if the player announce is correctly called.""" + bridge = AsyncMock() + player = LinkPlayPlayer(bridge) + + await player.announce("test") + + bridge.request.assert_called_once_with(LinkPlayCommand.ANNOUNCE.format("test")) + + async def test_player_resume(): """Tests if the player resume is correctly called.""" bridge = AsyncMock()