From 7209b03a12ec6d33f828df80c3304f1cd51754b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Fri, 7 Mar 2025 09:42:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=95=B4=E7=90=86=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E6=92=AD=E6=94=BE=E8=AE=BE=E5=A4=87=E7=9A=84=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/httpserver.py | 4 +- xiaomusic/static/3thplay.html | 476 +++++++++++++++++----------------- xiaomusic/utils.py | 2 +- xiaomusic/xiaomusic.py | 5 +- 4 files changed, 243 insertions(+), 244 deletions(-) diff --git a/xiaomusic/httpserver.py b/xiaomusic/httpserver.py index c4d6fdf..7cd8035 100644 --- a/xiaomusic/httpserver.py +++ b/xiaomusic/httpserver.py @@ -151,8 +151,8 @@ async def custom_event(sid, data): await sio.emit("response", {"action": "切歌", "status": data}) -@app.post("/items/") -async def create_item(item: Item): +@app.post("thdaction") +async def thdaction(item: Item): await sio.emit( "response", {"action": item.action, "args": item.args, "status": item.args}, diff --git a/xiaomusic/static/3thplay.html b/xiaomusic/static/3thplay.html index 16f35cd..8370a15 100644 --- a/xiaomusic/static/3thplay.html +++ b/xiaomusic/static/3thplay.html @@ -1,54 +1,54 @@ - - - - - - Mini音乐播放器 - - - - - + + + + if( data.action=='play') + { + playlist[0].src=data.args; + playlist[0].artist="小爱在线" + playlist[0].title="小爱在线" + console.log(data.args) + playSong(0) ; + } + if( data.action=='stop') + { + togglePlay() + } + const audio = document.getElementById('audio'); + const volumeSlider = document.getElementById('volumeSlider'); + if( data.action=='volume') + { -
-
- 封面 -
- -
-

Let Go

-

Avril Lavigne

+ audio.volume=data.args/100 + volumeSlider.value=audio.volume + } + if( data.action=='down') + { + audio.volume=audio.volume-0.2 + volumeSlider.value=audio.volume + } + if( data.action=='up') + { + audio.volume=audio.volume+0.2 + volumeSlider.value=audio.volume + } + document.getElementById("messages").appendChild(div); }); + + +
+ +
+ 封面 +
+ +
+

Let Go

+

Avril Lavigne

+
+ +
+
+
+ +
+ 00:00 + 00:00 +
+ +
+
+
+
+
+
+ +
+ + +
+
    -
    -
    -
    - -
    - 00:00 - 00:00 -
    - -
    -
    -
    -
    -
    -
    - -
    - - -
    -
      -
      - - + - -
      - + // playSong(0); + +
      + diff --git a/xiaomusic/utils.py b/xiaomusic/utils.py index 7085a18..2158871 100644 --- a/xiaomusic/utils.py +++ b/xiaomusic/utils.py @@ -237,7 +237,7 @@ def traverse_music_directory(directory, depth, exclude_dirs, support_extension): # 发送给网页3thplay,用于三者设备播放 async def thdplay( - action, args="/static/3thdplay.mp3", target="HTTP://192.168.1.10:58091/items/" + action, args="/static/3thdplay.mp3", target="HTTP://192.168.1.10:58090/thdaction" ): # 接口地址 target,在参数文件指定 data = {"action": action, "args": args} diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index 8852841..e64c9d9 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -135,7 +135,7 @@ class XiaoMusic: if self.public_port == 0: self.public_port = self.port # 自动3thplay生成播放 post url - self.thdtarget = f"{self.hostname}:{self.public_port}/items/" # "HTTP://192.168.1.10:58091/items/" + self.thdtarget = f"{self.hostname}:{self.public_port}/thdaction" # "HTTP://192.168.1.10:58090/thdaction" self.active_cmd = self.config.active_cmd.split(",") self.exclude_dirs = set(self.config.exclude_dirs.split(",")) @@ -2097,8 +2097,7 @@ class XiaoMusicDevice: await self.do_tts(self.config.stop_tts_msg) await asyncio.sleep(3) # 等它说完 # 取消组内所有的下一首歌曲的定时器 - if await thdplay("stop", "", self.xiaomusic.thdtarget): - return + await thdplay("stop", "", self.xiaomusic.thdtarget) self.cancel_group_next_timer() await self.group_force_stop_xiaoai() self.log.info("stop now")