1
0
mirror of https://github.com/hanxi/xiaomusic.git synced 2025-12-07 15:02:55 +08:00

Compare commits

..

6 Commits

Author SHA1 Message Date
涵曦
946be390ed bump: version 0.3.96 → 0.3.97 2025-11-01 13:02:13 +08:00
涵曦
5d32590c76 build: update static version 2025-11-01 13:02:12 +08:00
Issues Docs [BOT]
c0528342a1 Auto-Generate docs 🤖 2025-11-01 02:11:34 +00:00
Formatter [BOT]
9660079b02 Auto-format code 🧹🌟🤖 2025-11-01 02:09:09 +00:00
涵曦
f535fd149e feat: 升级 miservice 2025-11-01 10:08:34 +08:00
涵曦
34d1aab7f5 fix: 优化登录问题 2025-11-01 10:08:34 +08:00
12 changed files with 54 additions and 33 deletions

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "MiService"]
path = MiService
url = git@github.com:hanxi/MiService.git

View File

@@ -1,3 +1,13 @@
## v0.3.97 (2025-11-01)
### Feat
- 升级 miservice
### Fix
- 优化登录问题
## v0.3.96 (2025-10-28)
### Fix

Submodule MiService deleted from 898d7de17f

View File

@@ -263,5 +263,19 @@ https://tutu.to/image/1.N0FHK
同样问题,但我重新使用 [视频教程-群晖1]进行部署就正常了
---
### 评论 28 - davedday
这个支持在远程VPS上docker部署然后本地小爱同学使用吗
---
### 评论 29 - hanxi
> 这个支持在远程VPS上docker部署然后本地小爱同学使用吗
支持的,请不要在不相关的话题下面问。
---
[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/211)

View File

@@ -1,6 +1,6 @@
[project]
name = "xiaomusic"
version = "0.3.96"
version = "0.3.97"
description = "Play Music with xiaomi AI speaker"
authors = [
{name = "涵曦", email = "im.hanxi@gmail.com"},
@@ -24,7 +24,7 @@ dependencies = [
"python-socketio>=5.12.1",
"pyjwt>=2.10.1",
"fake-useragent>=2.2.0",
"miservice-fork @ file:///${PROJECT_ROOT}/MiService",
"miservice-fork",
"edge-tts>=7.2.3",
]
requires-python = ">=3.10"

View File

@@ -1 +1 @@
__version__ = "0.3.96"
__version__ = "0.3.97"

View File

@@ -6,9 +6,9 @@
<meta name="viewport" content="width=device-width">
<title>Debug For XiaoMusic</title>
<link rel="stylesheet" type="text/css" href="./main.css?version=1761581012">
<link rel="stylesheet" type="text/css" href="./main.css?version=1761973315">
<script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>
<script src="./jquery-3.7.1.min.js?version=1761581012"></script>
<script src="./jquery-3.7.1.min.js?version=1761973315"></script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-Z09NC1K7ZW"></script>

View File

@@ -4,8 +4,8 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<title>歌曲下载工具</title>
<link rel="stylesheet" type="text/css" href="./main.css?version=1761581012">
<script src="./jquery-3.7.1.min.js?version=1761581012"></script>
<link rel="stylesheet" type="text/css" href="./main.css?version=1761973315">
<script src="./jquery-3.7.1.min.js?version=1761973315"></script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-Z09NC1K7ZW"></script>

View File

@@ -5,8 +5,8 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>小爱音箱操控面板</title>
<script src="./jquery-3.7.1.min.js?version=1761581012"></script>
<link rel="stylesheet" href="./main.css?version=1761581012">
<script src="./jquery-3.7.1.min.js?version=1761973315"></script>
<link rel="stylesheet" href="./main.css?version=1761973315">
<link rel="icon" href="./favicon.ico">
<!-- Google tag (gtag.js) -->
@@ -196,7 +196,7 @@
Powered by XiaoMusic
</div>
<script src="./md.js?version=1761581012">
<script src="./md.js?version=1761973315">
</script>
</body>

View File

@@ -5,7 +5,7 @@
<link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width">
<title>M3U to JSON Converter</title>
<link rel="stylesheet" type="text/css" href="./main.css?version=1761581012">
<link rel="stylesheet" type="text/css" href="./main.css?version=1761973315">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-Z09NC1K7ZW"></script>

View File

@@ -4,9 +4,9 @@
<link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width">
<title>小爱音箱操控面板</title>
<script src="./jquery-3.7.1.min.js?version=1761581012"></script>
<script src="./setting.js?version=1761581012"></script>
<link rel="stylesheet" type="text/css" href="./main.css?version=1761581012">
<script src="./jquery-3.7.1.min.js?version=1761973315"></script>
<script src="./setting.js?version=1761973315"></script>
<link rel="stylesheet" type="text/css" href="./main.css?version=1761973315">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-Z09NC1K7ZW"></script>

View File

@@ -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,
@@ -42,6 +42,7 @@ from xiaomusic.const import (
PLAY_TYPE_SEQ,
PLAY_TYPE_SIN,
SUPPORT_MUSIC_TYPE,
TTS_COMMAND,
)
from xiaomusic.crontab import Crontab
from xiaomusic.plugin import PluginManager
@@ -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=""):