Skip to content

Releases

v3.1.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 02:22

新增:暂停时隐藏歌词

播放页新增开关 「暂停时隐藏歌词」(默认关闭,保持原有行为)。

  • 开启:播放器暂停时清空歌词层(而不是定格在屏幕上),恢复播放后从暂停位置继续演出,不丢进度;
  • 关闭:与之前一致,暂停只定格画面。

实现细节

隐藏不是「隐藏窗口」,而是只清空画面:

  • 时间轴、当前句、暂停时刻全部保留,所以恢复播放时能精确续演;
  • paintEvent 在隐藏期间以 CompositionMode_Source 整屏刷成全透明,上一帧不会残留;
  • 隐藏时先把暂停时刻定格,再停掉逐字/颤动定时器——否则恢复时无从补偿暂停时长,时间轴会瞬间前跳;
  • 隐藏期间取到回拖进度(seek/单曲循环)时不会重启行推进定时器,恢复播放时才统一重启,歌词不会在不可见时继续跑;
  • 「停止播放」「重新获取歌词」都会清掉隐藏态,下一次演出正常显示;
  • 开关切换即时生效并写入配置,关闭时若正处于隐藏态会立刻恢复显示。

顺带

网易云的「加入下一首播放」误切歌问题已随依赖 netease-cloudmusic-detector 2.0.7 修复(见 v3.0.2)。

v3.0.2

Choose a tag to compare

@github-actions github-actions released this 23 Oct 23:21

修复:网易云「加入下一首播放」导致歌词停止显示(#11)

根因在底层依赖库,已随 netease-cloudmusic-detector 2.0.7 修复,本版同步升级。

发生了什么

网易云在「加入下一首播放」、把歌曲插入播放队列时,会写一条 checkPlayPrivilege(播放权限预检)日志。旧版检测库把它当成真实切歌,于是:

  • 歌词软件提前拉取下一首的歌词,当前歌词被停掉;
  • 真正切到该曲时,因为曲目 ID 已相同而被去重,不再推送切歌事件,歌词从此不再出现,只能手动点「开始播放」恢复。

修复方式(库 2.0.7)

改为「候选 + 出声确认」:权限预检只登记候选,不改状态、不发回调;只有 NATIVE_SONG_LOAD(同 songId)或 native播放state 的 playId 前缀确认后才正式切歌,歌词同时锚定在真实出声点。

启动回溯(_preload)也同步修正:过滤掉从未出声的预检锚点;webdb 查不到当前歌时继续向更早日志取同一首的预检记录补齐歌名歌手(此前会直接回溯失败,启动后没有歌曲信息)。

本仓库的两处适配加固

  1. core/app_controller.py:歌词获取的互斥守卫从「布尔丢弃」改为 asyncio.Lock 排队。原来若上一首的获取没结束,切歌触发的重新获取会被直接丢弃并返回失败,界面随即停止歌词——新歌歌词再也不显示。现在排队执行时,后一个请求会重新读取当前播放信息,拿到的总是最新歌曲的歌词。
  2. ui/control_panel.py:_fetch_and_restart 在获取前后比对歌曲,若获取期间又切了歌则放弃本次表演,避免旧歌词短暂抢着播出来。

关于「已是最新版本仍然提示有更新」

v3.0.1 的 Release 里混入了一个用旧版本号(3.0.0)构建的包,导致 3.0.1 用户被提示有新版本。那个错误资产已删除,本版重新构建,版本号也已正确写入。

依赖:netease-cloudmusic-detector >= 2.0.7

v3.0.1

Choose a tag to compare

@github-actions github-actions released this 11 Oct 10:40
v3.0.1: 修复预点亮歌词重叠(碰撞谓词反转根本修复)

v3.0.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 08:51

该版本实现了OBS窗口捕获等多个feat

v2.0.5

Choose a tag to compare

@github-actions github-actions released this 16 Aug 15:08
chore:同步一下配置

v2.0.1

Choose a tag to compare

@github-actions github-actions released this 14 Aug 14:38
feat:添加了开机自启动和最小化到托盘

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Aug 14:20
refactor: 使用 PyQt-Fluent-Widgets 重构控制面板,重构歌词获取流程