From 8c92afd09bf1e286b9594ecb802a7a23cc21973c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Tue, 3 Dec 2024 21:25:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DM01=E8=AF=AD=E9=9F=B3?= =?UTF-8?q?=E6=92=AD=E6=94=BE=E9=97=AE=E9=A2=98=EF=BC=8CX08C=20X08E=20X8F?= =?UTF-8?q?=20=E5=9E=8B=E5=8F=B7=E9=BB=98=E8=AE=A4=E9=87=87=E7=94=A8?= =?UTF-8?q?=E5=9E=8B=E5=8F=B7=E5=85=BC=E5=AE=B9=E6=A8=A1=E5=BC=8F=20see=20?= =?UTF-8?q?#30?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/const.py | 7 +++++++ xiaomusic/xiaomusic.py | 6 ++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/xiaomusic/const.py b/xiaomusic/const.py index ed89ed0..63e4565 100644 --- a/xiaomusic/const.py +++ b/xiaomusic/const.py @@ -20,3 +20,10 @@ PLAY_TYPE_SEQ = 4 # 顺序播放 GET_ASK_BY_MINA = { "M01", } + +# 需要使用 play_musci 接口的设备型号 +NEED_USE_PLAY_MUSIC_API = { + "X08C", + "X08E", + "X8F", +} diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index cedcfff..0baba59 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -28,6 +28,7 @@ from xiaomusic.const import ( COOKIE_TEMPLATE, GET_ASK_BY_MINA, LATEST_ASK_API, + NEED_USE_PLAY_MUSIC_API, PLAY_TYPE_ALL, PLAY_TYPE_ONE, PLAY_TYPE_RND, @@ -187,7 +188,7 @@ class XiaoMusic: self.last_timestamp[did] = int(time.time() * 1000) hardware = self.get_hardward(device_id) - if hardware in GET_ASK_BY_MINA or self.config.get_ask_by_mina: + if (hardware in GET_ASK_BY_MINA) or self.config.get_ask_by_mina: tasks.append(self.get_latest_ask_by_mina(device_id)) else: tasks.append( @@ -1711,6 +1712,7 @@ class XiaoMusicDevice: ret = None try: audio_id = await self._get_audio_id(name) + hardware = self.get_hardward(device_id) if self.config.continue_play: ret = await self.xiaomusic.mina_service.play_by_music_url( device_id, url, _type=1, audio_id=audio_id @@ -1718,7 +1720,7 @@ class XiaoMusicDevice: self.log.info( f"play_one_url continue_play device_id:{device_id} ret:{ret} url:{url} audio_id:{audio_id}" ) - elif self.config.use_music_api: + elif self.config.use_music_api or (hardware in NEED_USE_PLAY_MUSIC_API): ret = await self.xiaomusic.mina_service.play_by_music_url( device_id, url, audio_id=audio_id )