alger
|
ad2df12957
|
fix(core): 修复事件监听器泄漏
- App.vue: offline 监听器添加 onUnmounted 清理,移除冗余 console.log
- MusicHook.ts: document.onkeyup 直接赋值改为 addEventListener + 防重复
- MusicHook.ts: audio-ready 监听器提取为命名函数,先移除再注册防堆叠
|
2026-04-10 23:26:33 +08: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
|
bc46024499
|
refactor(download): 重构下载系统,支持暂停/恢复/取消,修复歌词加载
- 新建 DownloadManager 类(主进程),每个任务独立 AbortController 控制
- 新建 Pinia useDownloadStore 作为渲染进程单一数据源
- 支持暂停/恢复/取消下载,支持断点续传(Range header)
- 批量下载全部完成后发送汇总系统通知,单首不重复通知
- 并发数可配置(1-5),队列持久化(重启后恢复)
- 修复下载列表不全、封面加载失败、通知重复等 bug
- 修复本地/下载歌曲歌词加载:优先从 ID3/FLAC 元数据提取,API 作为 fallback
- 删除 useDownloadStatus.ts,统一状态管理
- DownloadDrawer/DownloadPage 全面重写,移除 @apply 违规
- 新增 5 语言 i18n 键值(暂停/恢复/取消/排队中等)
|
2026-03-27 23:02:08 +08:00 |
|
alger
|
2b8378bbae
|
✨ feat: 重构心动模式与私人FM播放逻辑
- 心动模式从播放模式循环中独立,移至 SearchBar 作为独立按钮
- 新增私人FM自动续播:播放结束后自动获取下一首
- 播放列表设置时自动清除FM模式标志
- 顺序播放模式播放到最后一首后正确停止
- 新增获取关注歌手新歌 API
- 补充心动模式相关 i18n 翻译
|
2026-03-22 16:49:00 +08:00 |
|
alger
|
479db66eb0
|
fix(lyric): 修复桌面歌词窗口首次打开无歌词问题
歌词窗口 Vue 加载完成后发送 lyric-ready 信号,主窗口收到后
发送完整歌词数据,替代不可靠的延迟猜测方案
|
2026-03-12 18:31:16 +08:00 |
|
alger
|
1c222971d5
|
refactor: 统一进度追踪机制,移除重复的rAF更新循环 (H-007/H-008)
- 移除 Mechanism A (rAF + setTimeout 混用),消除定时器泄漏 bug
- 将逐字歌词进度计算和 localStorage 保存迁移到 Mechanism B (setInterval 50ms)
- 消除 nowTime 竞争写入,从 ~30次/秒 seek 调用降到 20次/秒
- 修复 timer ID 类型 (any -> number)
|
2026-03-12 18:09:20 +08:00 |
|
alger
|
ec8a07576f
|
fix: 修复播放并发控制死代码、shallowRef响应式、歌词IPC高频调用 (H-005/H-006/H-009)
- H-005: 删除 playerCore.ts 中无效的 playInProgress 局部变量
- H-006: fetchSongs 修改 shallowRef 元素后添加 triggerRef 触发更新
- H-009: sendLyricToWin 从每秒20次全量发送改为每秒5次轻量更新
|
2026-03-12 18:07:20 +08:00 |
|
alger
|
36917a979d
|
feat: 优化音乐播放逻辑
|
2026-03-04 19:53:50 +08:00 |
|
alger
|
b955e95edc
|
feat: 优化播放逻辑
|
2026-02-06 20:34:07 +08:00 |
|
algerkong
|
999cd6526b
|
feat: 优化播放检测逻辑
|
2025-12-20 14:16:32 +08:00 |
|
alger
|
3527da17da
|
feat: 添加心动模式播放
|
2025-10-22 22:48:52 +08:00 |
|
alger
|
a5d3ff359c
|
feat: 优化逐字歌词效果,桌面歌词添加逐字歌词效果
|
2025-10-12 17:11:48 +08:00 |
|
alger
|
cb2baeadf5
|
feat: 逐字歌词
|
2025-10-11 20:23:54 +08:00 |
|
Leko
|
56922caa40
|
feat: 新增歌詞翻譯模組和 OpenCC 翻譯引擎
|
2025-09-14 17:16:53 +08:00 |
|
alger
|
659c9f9a4c
|
feat: 优化解析功能,添加缓存
|
2025-09-14 01:03:29 +08:00 |
|
alger
|
ad51f57bd7
|
🦄 refactor: 重构播放列表逻辑 优化随机播放功能
feated: #368 #353
|
2025-08-12 19:51:29 +08:00 |
|
alger
|
3ba85f34ed
|
feat: 优化类型处理
|
2025-08-07 22:57:17 +08:00 |
|
alger
|
c08c2cbf19
|
refactor: 更新 eslint 和 prettier 配置 格式化代码
|
2025-07-23 23:54:35 +08:00 |
|
algerkong
|
b9c38d257a
|
✨ feat: 重构播放控制逻辑,添加播放进度恢复功能并清理无用代码
|
2025-06-11 20:12:52 +08:00 |
|
alger
|
c975344dd0
|
feat: 添加歌词矫正功能,支持增加和减少矫正时间
|
2025-05-26 22:58:42 +08:00 |
|
alger
|
2e96161bd0
|
✨ feat: 修改播放列表展示形式,优化播放逻辑,添加清空播放列表功能
|
2025-05-17 13:27:50 +08:00 |
|
algerkong
|
c7d586407e
|
🐞 fix: 移除不必要的 i18n 导入,优化 MusicHook 逻辑
|
2025-05-02 19:35:32 +08:00 |
|
algerkong
|
c5af89e51f
|
🐞 fix: 移除不必要的监听器,优化音频播放逻辑,添加音频就绪事件处理,改进操作锁机制以防止并发操作
|
2025-05-02 19:25:12 +08:00 |
|
alger
|
b9b52f4d9f
|
✨ feat:确保仅在 Electron 中调用 API 发送歌曲数据
|
2025-04-12 13:05:08 +08:00 |
|
alger
|
0f55795ca9
|
✨ feat: 添加迷你模式功能,支持迷你窗口的显示与隐藏,更新设置项以控制迷你播放栏和歌词显示,优化路由管理以适应迷你模式
|
2025-04-01 23:22:26 +08:00 |
|
alger
|
374a7a837d
|
✨ feat: mac添加音乐控制图标 , 托盘菜单项,更新播放状态和当前歌曲信息的逻辑
feat #105
|
2025-03-31 23:05:19 +08:00 |
|
alger
|
cfe197c805
|
✨ feat: 优化音频播放进度更新逻辑,添加拖动滑块时的状态管理和节流处理
|
2025-03-31 22:57:00 +08:00 |
|
alger
|
ee6e9d43fd
|
✨ feat: 添加音频URL过期事件监听,自动重新获取B站和网易云音乐音频URL并恢复播放
|
2025-03-30 12:40:39 +08:00 |
|
alger
|
1a440fad09
|
✨ feat: 添加B站音频URL获取功能,优化播放器逻辑,删除不再使用的BilibiliPlayer和MusicBar组件
|
2025-03-30 01:20:28 +08:00 |
|
alger
|
8a414d0c25
|
✨ feat: 增加音频服务的上一曲和下一曲功能
|
2025-03-22 10:37:57 +08:00 |
|
alger
|
fa39d4ca55
|
✨ feat: 优化音频监听器初始化和设置保存逻辑
- 在 App.vue 中引入 initAudioListeners 函数,确保在播放音乐时初始化音频监听器。
- 在 MusicHook.ts 中重构音频监听器的初始化逻辑,增加音频加载的超时处理。
- 在设置页面中实现防抖保存功能,避免频繁更新设置,提高性能和用户体验。
这些更改旨在提升音频播放的稳定性和设置管理的效率。
|
2025-03-21 00:19:15 +08:00 |
|
alger
|
e355341596
|
🦄 refactor: 重构代码将 Vuex替换为 Pinia
集成 Pinia 状态管理
|
2025-03-19 22:48:28 +08:00 |
|
alger
|
f9878ed88a
|
✨ feat: 优化歌词窗口交互和同步机制
- 增强歌词窗口数据同步逻辑,支持实时更新和状态管理
- 添加歌词窗口关闭事件监听和状态处理
- 优化无歌词时的默认提示和窗口行为
- 实现歌词窗口定时同步机制,提升用户体验
- 修复歌词窗口打开和关闭时的状态控制
- 国际化支持无歌曲播放时的提示文案
|
2025-03-08 19:00:50 +08:00 |
|
alger
|
e43e85480d
|
✨ feat: 增强音频播放状态管理和进度恢复功能
- 实现全局进度动画管理,优化歌词进度更新机制
- 新增音频播放进度本地存储和恢复功能
- 优化音频服务初始化和播放状态控制
- 改进音频上下文和 Howler 初始化逻辑
- 增加播放状态和进度的本地持久化支持
|
2025-03-08 18:31:46 +08:00 |
|
alger
|
ead017e4b1
|
✨ feat: 国际化 (i18n) 功能实现
|
2025-02-19 01:01:43 +08:00 |
|
alger
|
914e043502
|
✨ feat: 去除歌曲缓存 优化播放下一首
|
2025-01-17 22:35:42 +08:00 |
|
alger
|
a94e0efba5
|
✨ feat: 优化播放
|
2025-01-17 22:34:49 +08:00 |
|
alger
|
f652932d71
|
✨ feat: 优化播放体验 优化代码 优化歌词缓存
|
2025-01-16 23:19:16 +08:00 |
|
alger
|
87ca0836b1
|
🐞 fix: 修复单曲循环后点击歌词快进会有重复的声音播放
|
2025-01-16 00:40:44 +08:00 |
|
alger
|
3c64473dbb
|
✨ feat: 优化音乐播放 控制 系统控制功能 (#36,#16)
fixed #36,#16
|
2025-01-12 19:14:25 +08:00 |
|
alger
|
62e26cae7d
|
🌈 style: 优化代码格式化
|
2025-01-10 22:49:55 +08:00 |
|
alger
|
17d20fa299
|
🦄 refactor: 重构整个项目 优化打包 修改后台服务为本地运行 添加更新版本检测功能
|
2025-01-01 02:25:18 +08:00 |
|