mirror of
https://github.com/atdunbg/Nekosonic-Music.git
synced 2026-08-06 03:44:18 +08:00
feat: v0.9.0 多音源系统、歌曲标签、搜索建议、播放器改进
音源系统: - 新增可配置多音源(波点/酷狗/酷我),支持启用/禁用/排序/自定义源 - 酷我 kwDES 加密 + mobi.s 接口绕过 VIP 限制 - VIP/版权歌曲跨源 fallback,版本一致性匹配(原版/DJ/Live/混音) - 多源聚合搜索,歌名+歌手组合去重 歌曲标签: - 付费/音质/版本/音源标签,网易云 fee 字段精确判断 - privilege 数组合并(歌手/歌单/专辑/每日推荐/收藏页) 搜索建议: - 120ms 防抖 + compositionend 支持,中文输入实时建议 - Teleport + fixed 定位避免父容器裁剪 播放器: - 网络流 seek 支持(SharedBuffer 下载完成后 byte_len 可用) - 切歌停止旧播放再加载新歌,进度条起步归零 - 切歌加载状态可视化,按钮禁用反馈 - tick generation 防竞态,旧 tick 不覆盖新歌位置 - 系统媒体控制(跨平台,Windows 增加 hwnd 就绪检查避免 panic) 其他: - 设置迁移 v7(恢复酷我音源) - useUpdater 模块级共享状态
This commit is contained in:
+10
-1
@@ -8,6 +8,7 @@ use std::sync::atomic::{AtomicBool, Ordering};
|
||||
mod api;
|
||||
mod audio;
|
||||
mod media_controls;
|
||||
mod music_sources;
|
||||
use api::ApiController;
|
||||
use audio::AppAudio;
|
||||
|
||||
@@ -41,7 +42,13 @@ pub fn run() {
|
||||
} else {
|
||||
None
|
||||
};
|
||||
media_controls::start_media_controls(app.handle().clone(), hwnd);
|
||||
// Windows 上 souvlaki 要求 hwnd 必须存在,否则 panic
|
||||
// 窗口尚未创建时跳过媒体控制初始化(不阻塞 app 启动)
|
||||
if hwnd.is_some() {
|
||||
media_controls::start_media_controls(app.handle().clone(), hwnd);
|
||||
} else {
|
||||
eprintln!("[media_controls] 窗口未就绪,跳过媒体控制初始化");
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(target_os = "windows"))]
|
||||
@@ -140,6 +147,8 @@ pub fn run() {
|
||||
api::cloudsearch,
|
||||
api::search_suggest,
|
||||
api::get_song_url,
|
||||
api::search_songs_multi,
|
||||
api::get_external_song_url,
|
||||
api::get_hot_search,
|
||||
api::get_playlist_detail,
|
||||
api::get_lyric,
|
||||
|
||||
Reference in New Issue
Block a user