Releases
v2.2.0
Compare
Sorry, something went wrong.
No results found
🚀 Features
Android 平台适配
新增Android MediaSession前台服务,完善系统媒体控制集成
播放相关能力重构(迁移至Rust播放域):
自动切歌逻辑迁移至Rust层,提升Android端稳定性
新增随机播放模式下的「上一曲/下一曲」功能
Android端禁用JS的ended事件处理器,统一由Rust层控制
系统媒体桥接与视觉优化:
在SystemMediaBridge中加载JNI库,完善跨层调用
正在播放的JSON数据中包含封面缓存路径,为MediaSession/系统通知栏设置专辑封面
Android启动与运行稳定性优化:
修复启动竞态问题:manage()后再设置JNI AppHandle,JNI中使用try_state()
延迟MediaPlaybackService轮询,避免初始化阶段异常
将system-media改造为标准Tauri移动插件,确保SystemMediaPlugin被正确打包
系统媒体控制
实现Rust播放域与系统控制的同步逻辑,解决JNI MutexGuard生命周期错误
移除未使用的system-media插件句柄,精简代码
🐛 Bug Fixes
Android 平台适配
修复Android端无限自动切歌问题:
自动切歌(drain模式)期间保留end_pending状态,避免重复触发切歌逻辑
结束处理器中使用try_state(),防止状态异常导致的循环切歌
修复启动竞态问题:manage()后再设置JNI AppHandle,JNI中使用try_state()
延迟MediaPlaybackService轮询,避免初始化阶段异常
将system-media改造为标准Tauri移动插件,确保SystemMediaPlugin被正确打包
音频播放核心
降低音量/静音操作延迟:
将音频输出环形缓冲区从约2秒缩减至250ms(保留4096样本的最小缓冲区保护)
前端调整音量逻辑:先执行setVolume,再异步同步托盘静音状态/localStorage
修复进度显示异常:
曲目开始/切换时避免进度跳变:使用会话级时间更新,暂停后精准恢复播放位置
快速切歌(prev/next)后防止进度冻结:简化MusicContext时间监听器的会话校验逻辑
强化进度条渲染稳定性:消除启动/切换时的抖动,移除进度条动画过冲效果
播放器UI与交互
桌面端「Now Playing」标题居中显示,优化视觉体验
修复拼音排序与字母索引对齐问题:
新增compareByPinyin()工具函数,中文按全拼排序、非中文按标准化文本排序
统一歌曲/歌单页的标题/艺术家/专辑排序逻辑,解决索引与列表顺序不匹配问题(如「阿刁」vs「All for love」)
歌词解析
优化双语歌词解析(新增中韩/中日韩混排支持):
基于CJK脚本检测(中/日/韩)扩展解析逻辑
同时间戳不同CJK脚本行自动识别为译文(如中韩、中日)
为单行韩文+内嵌中文翻译场景添加保守回退解析逻辑
📦 Chores
移除system-media插件中未使用的句柄,精简代码结构
调整前端音量处理逻辑的执行顺序,优先保证操作响应性
You can’t perform that action at this time.