将搜索词分为搜索词及文件名两部分,便于更精确搜索以及实现保存下载保存文件名的自定义
This commit is contained in:
parent
657af667ef
commit
612eb636be
@ -39,8 +39,9 @@ $(function(){
|
||||
}
|
||||
|
||||
$("#play").on("click", () => {
|
||||
name = $("#music-name").val();
|
||||
let cmd = "播放歌曲"+name;
|
||||
var search_key = $("#music-name").val();
|
||||
var filename=$("#music-filename").val();
|
||||
let cmd = "播放歌曲"+search_key+"|"+filename;
|
||||
sendcmd(cmd);
|
||||
});
|
||||
|
||||
|
@ -44,7 +44,8 @@
|
||||
</div>
|
||||
<hr>
|
||||
<div>
|
||||
<input id="music-name" type="text" placeholder="请输入歌曲名称"></input>
|
||||
<input id="music-name" type="text" placeholder="请输入搜索关键词(如:MV高清版 周杰伦 七里香)"></input>
|
||||
<input id="music-filename" type="text" placeholder="请输入保存为的文件名称(如:周杰伦-七里香)"></input>
|
||||
<button id="play">播放</button>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -299,7 +299,7 @@ class XiaoMusic:
|
||||
return True
|
||||
|
||||
# 下载歌曲
|
||||
async def download(self, name):
|
||||
async def download(self, search_key,name):
|
||||
if self.download_proc:
|
||||
try:
|
||||
self.download_proc.kill()
|
||||
@ -308,7 +308,7 @@ class XiaoMusic:
|
||||
|
||||
sbp_args = (
|
||||
"yt-dlp",
|
||||
f"{self.search_prefix}{name}",
|
||||
f"{self.search_prefix}{search_key}",
|
||||
"-x",
|
||||
"--audio-format",
|
||||
"mp3",
|
||||
@ -325,7 +325,7 @@ class XiaoMusic:
|
||||
sbp_args += ("--proxy", f"{self.proxy}")
|
||||
|
||||
self.download_proc = await asyncio.create_subprocess_exec(*sbp_args)
|
||||
await self.do_tts(f"正在下载歌曲{name}")
|
||||
await self.do_tts(f"正在下载歌曲{search_key}")
|
||||
|
||||
# 本地是否存在歌曲
|
||||
def get_filename(self, name):
|
||||
@ -484,15 +484,18 @@ class XiaoMusic:
|
||||
|
||||
# 播放歌曲
|
||||
async def play(self, **kwargs):
|
||||
name = kwargs["arg1"]
|
||||
if name == "":
|
||||
search_key,name = kwargs["arg1"].split('|')
|
||||
#空值填充:
|
||||
search_key = search_key if search_key else name
|
||||
name = name if name else search_key
|
||||
if search_key == "" and name == "":
|
||||
await self.play_next()
|
||||
return
|
||||
|
||||
return
|
||||
filename = self.get_filename(name)
|
||||
|
||||
if len(filename) <= 0:
|
||||
await self.download(name)
|
||||
self.log.info("正在下载中 %s", name)
|
||||
await self.download(search_key,name)
|
||||
self.log.info("正在下载中 %s", search_key+":"+name)
|
||||
await self.download_proc.wait()
|
||||
# 把文件插入到播放列表里
|
||||
self.add_download_music(name)
|
||||
|
Loading…
Reference in New Issue
Block a user