6 Commits

Author SHA1 Message Date
bbe244e125 fix(NFLmusic):优化歌词时间戳格式转换与异常处理
- 新增正则表达式匹配并转换 [mm:ss] 时间戳为 [mm:ss.0] 格式
- 在下载酷狗歌词时增加时间戳标准化处理逻辑
- 打印原始歌词内容以便调试
- 修改异常捕获方式,明确打印异常类型和信息- 更新版本号从4.3.3 到4.3.4
2025-10-03 17:07:50 +08:00
12a8b3714c style(lyrics): 移除多余的空行
- 删除解析歌词时不必要的空行- 保持代码整洁一致的格式
2025-10-03 17:07:35 +08:00
5ede789385 fix(download):修复聚合搜索下载的歌词无法读取问题
- 修复了聚合音乐搜索下载源的歌词解析错误
- 确保歌词文件能被正常读取和显示
-优化了下载流程中的数据处理逻辑
2025-10-03 17:07:23 +08:00
d8a03ce0e7 fix(version): 更新音乐播放器下载链接
-修正了版本信息文件中的音乐播放器下载地址
- 将旧的下载链接替换为新的直链地址
- 确保用户能够正常下载最新版本的音乐播放器
2025-10-03 17:07:15 +08:00
2967b66bf8 fix(version): 更新音乐播放器下载链接
-修正了版本信息文件中的音乐播放器下载地址
- 将旧的下载链接替换为新的直链地址
- 确保用户能够正常下载最新版本的音乐播放器
2025-10-03 16:35:13 +08:00
9a1b04d3d5 fix(NFLmusic):修复聚合搜索接口参数及数据解析问题
- 移除歌曲名中的空格替换逻辑,保留原始输入
- 增强JSON数据解析的健壮性,避免因数据结构异常导致的程序崩溃- 确保搜索目标正确传递至后续处理流程
2025-10-03 16:33:46 +08:00
4 changed files with 23 additions and 10 deletions

View File

@ -204,6 +204,20 @@ def download_music(song_name, choose):
resp.close() resp.close()
try: try:
lrc = resp.json()["data"]["lyric"] lrc = resp.json()["data"]["lyric"]
print(lrc)
# 正则表达式匹配 [mm:ss]
def convert_timestamp(match):
mm_ss = match.group(1)
minutes, seconds = mm_ss.split(':')
# 转换为浮点秒数并保留一位小数(虽然这里是整数)
total_seconds = int(minutes) * 60 + int(seconds)
# 格式化回 mm:ss.s 形式
new_minutes = total_seconds // 60
new_seconds = total_seconds % 60
return f"[{new_minutes:02d}:{new_seconds:02d}.0]"
# 替换所有 [mm:ss] 为 [mm:ss.0]
lrc = re.sub(r'\[(\d{2}:\d{2})\]', convert_timestamp, lrc)
except Exception as e: except Exception as e:
print(f"download_kg_lrc: {e}") print(f"download_kg_lrc: {e}")
lrc = "" lrc = ""
@ -325,12 +339,12 @@ def get_data_without_blocking(song_name):
elif choice == "KUGOU": elif choice == "KUGOU":
url1 = f"{url}?msg={song_name.replace(' ', '')}&num=60&type=json&key=Dragon5B887C2DC41AD03C93F06BAF4B7888C3" url1 = f"{url}?msg={song_name.replace(' ', '')}&num=60&type=json&key=Dragon5B887C2DC41AD03C93F06BAF4B7888C3"
elif choice == "JUHE": elif choice == "JUHE":
url1 = f"{url}?msg={song_name.replace(' ', '')}&num=60&type=json&key=Dragon5B887C2DC41AD03C93F06BAF4B7888C3" url1 = f"{url}?msg={song_name}&num=60&type=json&key=Dragon5B887C2DC41AD03C93F06BAF4B7888C3"
resp = requests.get(url1) resp = requests.get(url1)
jsondata = resp.json() jsondata = resp.json()
resp.close() resp.close()
last_search_target = song_name last_search_target = song_name
for index in range(len(jsondata["data"])): for index in range(len(jsondata["data"] if isinstance(jsondata, dict) else jsondata)):
if choice == "KUWO": if choice == "KUWO":
full_name = jsondata["data"][index]["songname"] full_name = jsondata["data"][index]["songname"]
artist = jsondata["data"][index]["singer"] artist = jsondata["data"][index]["singer"]
@ -483,8 +497,8 @@ def playsound(*event):
playmusic(abs_path) playmusic(abs_path)
try: try:
lyric = lyrics.load_lyrics(f"{path}/{music_file_without_endswith}.lrc") lyric = lyrics.load_lyrics(f"{path}/{music_file_without_endswith}.lrc")
except: except Exception as e:
pass print(type(e), e)
def playmusic(music_path): def playmusic(music_path):
@ -1314,7 +1328,7 @@ def search_local_song():
time.sleep(1) time.sleep(1)
version = "4.3.3" version = "4.3.4"
poem = "" poem = ""
appdata = os.getenv("APPDATA") appdata = os.getenv("APPDATA")
make_resource() make_resource()

View File

@ -13,7 +13,6 @@ def load_lyrics(file):
timestamp = f'{minutes:02}:{seconds:02}' timestamp = f'{minutes:02}:{seconds:02}'
text = match.group(3) text = match.group(3)
lyrics[timestamp] = text lyrics[timestamp] = text
return lyrics return lyrics

View File

@ -1,3 +1,3 @@
4.3.3 4.3.4
http://pan.nanfengling.cn/f/4Qc2/update.exe http://pan.nanfengling.cn/f/4Qc2/update.exe
http://pan.nanfengling.cn/f/bBXfv/NFLmusicv4.3.3.exe http://pan.nanfengling.cn/f/ye5cZ/NFLmusicv4.3.4.exe

View File

@ -1,5 +1,5 @@
v4.3.3 - 2025.10.3 v4.3.4 - 2025.10.3
新增了聚合音乐搜索下载 修复了聚合搜索下载的歌词无法被正常读取的问题
本产品是南凤科技旗下的音乐下载器 本产品是南凤科技旗下的音乐下载器
旨在提升用户体验, 旨在提升用户体验,