Commit Graph

8 Commits

Author SHA1 Message Date
alger 095b5c3029 fix(player): 修复快速切歌卡死、随机模式洗牌、定时睡眠重启失效
- audioService: 切歌时清除上一首遗留的 canplay/error 监听器,避免过期回调 stop 掉正在播放的新歌导致静音卡死
- playlist: setPlayList 新增 preserveOrder,就地编辑(下一首播放/移除单曲)时随机模式下不再重新洗牌,并同步 originalPlayList
- sleepTimer: store 初始化时重建定时器 interval,修复重启后定时关闭到点不停
- preloadService: 清理 3s 验证超时定时器、validatedUrls 加容量上限、预加载调用处补 catch
2026-07-05 19:52:49 +08:00
daili115 c5035b0583 feat: 修复软件切歌慢问题
Co-authored-by: traeagent <traeagent@users.noreply.github.com>
2026-06-25 07:41:15 +00:00
alger 0cfec3dd82 refactor(player): 重构播放控制系统,移除 Howler.js 改用原生 HTMLAudioElement
- 新建 playbackController.ts,使用 generation-based 取消替代 playbackRequestManager 状态机
- audioService 重写:单一持久 HTMLAudioElement + Web Audio API,createMediaElementSource 只调一次
- playerCore 瘦身为纯状态管理,移除 handlePlayMusic/playAudio/checkPlaybackState
- playlist next/prev 简化,区分用户手动切歌和歌曲自然播完
- MusicHook 适配 HTMLAudioElement API(.currentTime/.duration/.paused)
- preloadService 从 Howl 实例缓存改为 URL 可用性验证
- 所有 view/component 调用者迁移到 playbackController.playTrack()

修复:快速切歌竞态、seek 到未缓冲位置失败、重启后自动播放循环提示、EQ 重建崩溃
2026-03-29 13:18:05 +08:00
alger b955e95edc feat: 优化播放逻辑 2026-02-06 20:34:07 +08:00
alger 3a3820cf52 feat: 扩展数据层与播放能力 2026-02-04 20:18:27 +08:00
alger af9117ee5f feat: 优化预加载逻辑和继续播放功能 2025-12-17 15:05:40 +08:00
alger b9287e1c36 fix: 修复音源解析致命性错误 2025-12-13 14:46:15 +08:00
alger 1a0e449e13 feat: 一系列播放优化 2025-12-13 11:31:49 +08:00