Releases: wowohut/SmartisanMusic-Revived
Releases · wowohut/SmartisanMusic-Revived
v3.0.0
大版本更新:加入云音乐,接入网易云音乐,同时继续打磨原版体验、弹窗、设置页和播放细节。
云音乐
- 新增云音乐 Tab,支持网易云首页推荐、搜索、歌单、专辑、艺术家、电台和播客等内容浏览。
- 支持网易云 Web 登录、账号状态刷新、红心/喜欢列表同步、每日推荐和账号歌单内容。
- 支持网易云歌单创建、添加歌曲、移除歌曲、删除歌单,以及从“我的音乐”进入账号歌单详情。
- 支持在线歌曲播放、播放 URL 刷新、在线队列恢复、在线封面和在线歌词。
缓存与性能
- 新增网易云页面磁盘缓存和结构化编解码,覆盖首页、搜索、账号列表和各类详情页。
- 新增歌词磁盘缓存和在线播放流缓存,提升在线歌曲二次播放与歌词加载体验。
- 使用 Coil 统一云音乐封面加载,并加入内存/磁盘两级缓存。
- 将云音乐封面列表和搜索结果改为 Lazy 布局,减少列表重组与图片重复加载。
简易音效
- 新增简易音效功能,可在设置页开启或关闭播放音效处理。
- 支持常用音效预设,并提供自定义频响调节,方便按耳机、音箱或个人听感微调。
- 接入播放服务的均衡器与低音增强控制,切歌和恢复播放时会跟随当前设置应用。
体验细节
- 统一原版弹窗样式,播放列表命名、艺术家分隔符和播放页确认弹窗更接近原版。
- 优化设置页分组样式,新增在线播放音质二级页。
- 优化播放页歌词滚动跟随、无歌词占位、标题栏转场、页面返回动画和底部播放条边界。
- 修复搜索页艺术家详情交互、云音乐标题栏阴影、二级页返回状态和部分封面解析问题。
其他
- 调整应用包名为
app.smartisanmusic.revived,降低 ColorOS 等安全中心将侧载包识别为重签名或仿冒应用的概率。 - 升级 Kotlin、AGP、Compose、Media3、KSP、coreKtx 等依赖,并将 compileSdk 提升到 37。
注意
- 由于包名从
com.smartisanos.music改为app.smartisanmusic.revived,Android 会将本版本识别为新应用,旧版数据和权限不会自动迁移。 - 本版本为云音乐能力加入后的 3.0 大版本,
versionName为3.0,versionCode为300。
v2.1.2
一些细节优化
播放体验
- 修复打碟/搓碟过程中偶发无声、声音忽大忽小的问题,长时间搓碟时音频输出更连续。
- 改善切歌后搓碟声音偏小、歌词页切回播放页后搓碟短暂失效的情况。
- 优化搓碟音频窗口与采样位置同步,减少恢复播放或低速拖动后的响度突变。
歌词页与操作细节
- 为歌词页右上角屏幕常亮按钮补齐 Smartisan OS 风格 Toast 提示。
- 将屏幕常亮状态落到窗口级 KEEP_SCREEN_ON,离开歌词页或关闭时会正确清理。
- 修正歌词页更多操作面板里的按钮文案。
视觉与系统栏
- 修正标题栏长标题和左右按钮重叠的问题,长专辑名会保持居中并正确省略。
- 固定浅色系统栏语义,避免系统暗色模式下状态栏图标颜色异常。
- 减少系统栏对 Smartisan legacy 浅色界面的视觉干扰。
v2.1.1
完善大量细节,优化使用体验。
播放与播放页
- 优化唱片与歌词页切换动画,加入淡入、缩放和轻微位移过渡,切换更连贯。
- 将播放页控制按钮、音量滑块和全局播放条资源从 6.8.0 替换为 8.1.0 版本。
- 修正会话恢复逻辑,重新进入应用时保持暂停状态,不再被旧播放意图自动拉起播放。
- 修正评分保存后的即时刷新,播放页、队列、歌曲页、播放列表页和搜索页同步显示新评分。
列表与快捷操作
- 重做右侧字母快捷栏滑出行为,对齐原版隐藏、拖动、展开三态,改善侧滑灵敏度和按钮避让。
- 统一歌曲页、专辑页、艺术家页、播放列表页和更多页的底部播放条避让,减少遮挡和额外空滚。
- 优化多选滑动回退逻辑,支持滑出范围后恢复原选择状态,并修正播放次数排序行选择间距。
- 扩大歌曲更多按钮命中区域,修复文件夹、专辑、歌曲和收藏列表里更多操作不稳定的问题。
页面细节与本地化
- 新建播放列表加歌改为整页覆盖并复用歌曲页选择态,确认后按原版下滑退出。
- 对齐专辑平铺滚动条、底部留白和 footer 表现,统一艺术家页底部数量显示。
- 添加英文多语言资源,拆分 legacy 旧壳字符串,并修正英文数量单复数展示。
- 短期禁用横屏,避免未适配横屏时普通手机误旋转破版。
v2.1.0
大幅优化性能,并继续打磨播放链路和交互细节。
在 8.1.0 legacy View 复刻主干完成后,这个版本重点降低媒体库冷启动和扫描开销,优化播放队列恢复与封面加载稳定性,统一 Media3 播放策略,接入预测性返回手势,增加艺术家分隔符号设置,修复系统通知封面错位,并补齐原版列表交互、专辑视觉、艺术家详情和二级页面转场细节。
更新重点
媒体库与冷启动性能
- 新增 Room 持久化媒体库索引,冷启动优先复用本地索引,再按 MediaStore snapshot 增量刷新。
- 优化首次进入 App 的媒体库加载路径,避免首屏阶段立即做完整扫描和重复 MediaStore 查询。
- 播放队列恢复改为按 ID 查询并复用缓存,降低启动时恢复播放状态的额外开销。
- 引入 stable key,降低 MediaStore ID 变化后导致播放队列、历史状态和媒体恢复失败的风险。
- 手动刷新媒体库时只扫描未入库音频路径,并移除 DSD 格式主动扫描,降低刷新时的 CPU 开销。
- 将专辑 / 艺术家封面补全移动到 IO 路径,避免主线程读取索引导致卡顿或闪退。
- 修复媒体库加载期间歌单详情、加歌页等页面闪现假空态的问题。
播放链路与 Media3 行为
- 统一专辑、艺术家、文件夹、收藏、播放列表和歌曲页的随机播放入口,改为交给 Media3 shuffle 处理。
- 移除入口侧预打乱和分散的
Random起播逻辑,避免双重随机和不同页面播放策略不一致。 - 新增播放队列去重 helper,减少重复歌曲进入当前播放队列。
- 队列快照保存
mediaId与 stable key,恢复时支持 stable key fallback。 - 播放服务恢复队列时按隐藏目录规则过滤,保持恢复结果和媒体库可见性一致。
- 优化播放页状态刷新,将进度、音量等高频状态拆开刷新,减少完整播放状态的重复重建。
- 硬件音量键绑定媒体音量流,并保持自定义音量条与系统媒体音量同步。
系统通知与封面稳定性
- 新增 MediaSession 专用 BitmapLoader,优先按当前 mediaId 从本地音频文件读取嵌入封面。
- 避免系统通知使用 Media3 动态 metadata 中可能滞后的 artworkData,修复锁屏 / 通知栏专辑图错位。
- 在媒体库条目 extras 中写入 mediaId,供通知封面加载在 artworkUri 缺失或不稳定时回退定位当前歌曲。
- 播放服务接入并释放封面 loader,保持系统通知封面与当前 MediaSession 条目一致。
列表交互与原版操作细节
- 新增 legacy 列表滑动选择控制器,支持歌曲、专辑、歌单、喜欢歌曲、文件夹等页面连续滑动多选。
- 修复滑动多选偶发卡顿,边缘滚动改为逐帧滚动,减少动画堆叠。
- 对齐原版歌曲列表右滑删除,补齐垃圾桶图标、右滑展开 / 收起动画和删除确认联动。
- 修复歌曲左侧多选触摸状态,避免 checkbox 命中异常和蓝色高光残留。
- 对齐原版 ListView footer 机制,为歌曲、收藏、文件夹、播放列表及详情歌曲列表补齐底部占位,避免最后一项被底部播放条遮挡。
- 文件夹详情补齐歌曲三点操作,并缓存目录与歌曲列表绑定状态,降低返回和刷新时的重复绑定开销。
专辑、艺术家与二级页面转场
- 专辑页和艺术家详情支持保存平铺 / 列表显示偏好,重启后不再恢复默认列表状态。
- 新增专辑封面大图浏览层,支持点击封面查看大图,并可点击空白区域或返回键关闭。
- 对齐原版专辑平铺视觉,恢复普通专辑套框、所有歌曲无默认套框,以及宽屏设备上的封面尺寸。
- 将专辑页列表切平铺动画调整为原版式 GridView LayoutAnimation:列表先退场,平铺按顺序淡入。
- 优化艺术家详情专辑列表 / 平铺切换动画,减少背景纹理变化和“所有歌曲”图标跳动。
- 接入二级页面预测性返回手势,专辑详情、艺术家详情、播放列表详情及对应标题栏支持跟手返回。
- 修复喜欢歌曲、文件夹、播放列表详情返回时白底闪烁或空页面闪现的问题。
- 修复艺术家详情中进入具体专辑时前进 / 返回闪烁,以及返回时直接跳回艺术家总页的问题。
- 恢复艺术家根列表和艺术家专辑列表点击高光。
设置、搜索与项目整理
- 新增自定义艺术家分隔符设置,支持按用户配置聚合艺术家、专辑和搜索展示。
- 清理一批历史 lint 与资源类型问题,包括 Media3 unstable API 标记、Compose 字符串读取、selector 资源目录和自定义 View styleable 声明。
- README 更新为 2.1.0 版本说明。
完整变更记录
v2.0.0
一次大版本更新。
从 v1.1.0 到 v2.0.0,项目基本完成了从早期 Smartisan OS 6.8.0 Compose 复刻路线,到 Smartisan Music 8.1.0 legacy View 复刻路线的切换。主界面、播放页、主要二级页面和播放链路都重新整理了一遍,所以这次直接跨到 2.0。
更新重点
8.1.0 legacy View 复刻
- 引入 Smartisan Music 8.1.0 视觉资源,补齐大量原版 drawable、layout、selector、anim、dimens 和 shim 控件。
- 主界面切换到 legacy View 壳,删除早期 Compose 主页面入口,让整体层级、列表质感、标题栏、底部 Tab 和底部播放条更贴近原版。
- 对齐歌曲、专辑、艺术家、播放列表、我喜欢、文件夹、更多、设置等主要页面。
- 完成专辑列表 / 平铺切换、专辑详情页、二级页面横向转场和设置页纵向转场等动画细节。
播放页与黑胶体验
- 对齐播放页 legacy 壳层、标题栏、投影、入场动画和播放页转场。
- 完善黑胶唱盘、唱针、搓碟、歌词 / 控制区和滑动交互。
- 优化打碟音效连续性、大尺寸封面加载和搓碟音频卡顿问题。
- 补齐播放页弹窗、触觉反馈、误触处理和唱盘角度校正。
播放队列与播放链路
- 重做播放队列展开 / 收起效果,并补齐队列拖拽排序。
- 延迟构造播放队列数据,减少播放页打开时的卡顿。
- 补齐歌曲评分链路和播放次数统计。
- 优化后台播放、播放状态持久化、封面加载和外部音频打开。
搜索、排序和资料库
- 复刻原版全局搜索页。
- 完成歌曲排序筛选与原版样式对齐。
- 修复歌曲页字母栏状态、排序选择态布局、喜欢歌曲空态提示等细节。
- 调整文件夹页媒体库重扫入口,优化本地资料库刷新体验。
文档与项目整理
- 更新 README,说明当前 8.1.0 legacy View 复刻版本、People-11 移植版来源和项目边界。
- 新增 6 张真机截图。
- 新增非商业用途 LICENSE。
- 旧的 Smartisan OS 6.8.0 Compose 版本历史已保存在
archive/6.8.0-compose分支。
特别感谢
特别感谢 People-11 的 SmartisanOS_APP_Port 项目。Music_8.1.0.apk 为这个版本提供了非常重要的视觉和交互基准。没有这份移植工作,就没有现在这个 8.1.0 复刻版本。