From 87b3411f5eefc9859c6e98d81be0f0e0a70d2e0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Mon, 1 Jul 2024 15:28:57 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=B0=9D=E8=AF=95=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E8=A7=A6=E5=B1=8F=E7=89=88=E6=97=A0=E6=B3=95=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/xiaomusic.py | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index af9b663..280dbad 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -689,13 +689,13 @@ class XiaoMusic: async def play_url(self, **kwargs): url = kwargs.get("arg1", "") if self.config.use_music_api: - ret = await self.mina_service.play_by_music_url(self.device_id, url, _type=2) - self.log.debug( + ret = await self.play_by_music_url(self.device_id, url) + self.log.info( f"play_url play_by_music_url {self.config.hardware}. ret:{ret} url:{url}" ) else: ret = await self.mina_service.play_by_url(self.device_id, url) - self.log.debug( + self.log.info( f"play_url play_by_url {self.config.hardware}. ret:{ret} url:{url}" ) return ret @@ -1012,6 +1012,28 @@ class XiaoMusic: result = await future return result + async def play_by_music_url(self, deviceId, url, _type=2): + self.log.info(f"play_by_music_url url:{url}, type:{_type}") + audio_type = "" + if _type == 1: + # If set to MUSIC, the light will be on + audio_type = "MUSIC" + audio_id = "1741636975854617441" + music = { + "payload": { + "audio_items": [ + {"item_id": {"audio_id": audio_id}, "stream": {"url": url}} + ], + "audio_type": audio_type, + } + } + return await self.mina_service.ubus_request( + deviceId, + "player_play_music", + "mediaplayer", + {"startaudioid": audio_id, "music": json.dumps(music)}, + ) + async def debug_play_by_music_url(self, arg1=None): if arg1 is None: arg1 = {}