Repository navigation
1.2.1 —— 拖动进度条的时间显示 + 调整落盘不再可能丢
1.2.1 —— 修两处真的会咬人的地方
拖动进度条时,"当前时间"不再被播放进度抢回去
所有者报的:播放中拖动进度条,"当前时间"反复跳回真实播放时间("反复显示当成进度")。
根因是那格时间有两个写者:拖动时 OnSeekScroll 写"你要跳到的位置",而界面计时器每 200 ms
用真实播放时间再写一次——UpdateProgress() 里的 if (!_userSeeking) 只护住了滑块取值,
时间标签在护罩外面。现在拖动期间那一格只显示要跳到的位置,松手才真正跳转。
同一小段里顺手收掉两处同源毛病:
- 按住拖到进度条外面(比如下方)就不跟手了——鼠标其实还在捕获中,而
OnMouseLeave
无条件把拖动状态清掉了; - 右键点一下进度条也会 seek 一次、还让计时器停摆——"用户在拖动"以前不分按键。
"调完立刻关程序"不再可能丢掉这次调整
关掉「记住播放进度」之后,按文件的调整(歌词偏移 / 音画 / 字幕延迟)只剩一条落盘路径,
而它在"已经有一次写入在飞"时会直接早退、把这次改动留给"下一次调用"——那个调用可能永远不来。
现在这一次改动一次都不丢,而且退出时那条同步写会先等在飞的那次落地,
免得被更旧的快照后落地盖回去。
完整变更记录(含验收数据、两个产物的 SHA256、以及修的过程中冒烟当场抓出来的一个更糟写法):
CHANGELOG.md
下载哪个
| 资产 | 适合 |
|---|---|
local-player-1.2.1-setup.exe |
日常使用:每用户安装、不弹 UAC、带卸载器、可选桌面图标,可加进「打开方式」候选;自包含,不需要先装 .NET |
local-player-1.2.1-portable.zip |
不想装 / 放 U 盘:解压到一个文件夹直接运行,不写注册表 |
卸载不删用户数据(设置 / 历史 / 歌单 / 设置方案 / 字体都在 %AppData%\播放器)。
安装包没有数字签名,第一次运行会弹 SmartScreen「未知发布者」——这是没买代码签名证书的必然结果。
这一版只修问题、不加功能。六个新功能(A-B 循环 / 音量均衡 / 下一首播放队列 /
歌单窗口拖拽排序 + 批量重命名 / 画面旋转翻转 / SMTC)排在 1.3.0,计划见
docs/1.3.0计划.md。