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