From 34d1aab7f5519c181fd7ac2312f6a9806a34e2ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Sat, 1 Nov 2025 10:02:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/xiaomusic.py | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index 76157f4..05088c3 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -15,7 +15,7 @@ from dataclasses import asdict from logging.handlers import RotatingFileHandler from aiohttp import ClientSession, ClientTimeout -from miservice import MiAccount, MiIOService, MiNAService +from miservice import MiAccount, MiIOService, MiNAService, miio_command from watchdog.events import ( FileCreatedEvent, FileDeletedEvent, @@ -32,6 +32,7 @@ from xiaomusic.config import ( Device, ) from xiaomusic.const import ( + TTS_COMMAND, COOKIE_TEMPLATE, GET_ASK_BY_MINA, LATEST_ASK_API, @@ -1557,6 +1558,8 @@ class XiaoMusic: device_list = await self.mina_service.device_list() except Exception as e: self.log.warning(f"Execption {e}") + # 重新初始化 + await self.xiaomusic.reinit() return device_list async def debug_play_by_music_url(self, arg1=None): @@ -2046,22 +2049,20 @@ class XiaoMusicDevice: async def text_to_speech(self, value): try: # 有 tts command 优先使用 tts command 说话 - # if self.hardware in TTS_COMMAND: - # tts_cmd = TTS_COMMAND[self.hardware] - # self.log.info("Call MiIOService tts.") - # value = value.replace(" ", ",") # 不能有空格 - # await miio_command( - # self.xiaomusic.miio_service, - # self.did, - # f"{tts_cmd} {value}", - # ) - # else: - self.log.debug("Call MiNAService tts.") - await self.xiaomusic.mina_service.text_to_speech(self.device_id, value) + if self.hardware in TTS_COMMAND: + tts_cmd = TTS_COMMAND[self.hardware] + self.log.info("Call MiIOService tts.") + value = value.replace(" ", ",") # 不能有空格 + await miio_command( + self.xiaomusic.miio_service, + self.did, + f"{tts_cmd} {value}", + ) + else: + self.log.debug("Call MiNAService tts.") + await self.xiaomusic.mina_service.text_to_speech(self.device_id, value) except Exception as e: self.log.exception(f"Execption {e}") - # 重新初始化 - # await self.xiaomusic.reinit() # 同一组设备播放 async def group_player_play(self, url, name=""):