MiraMusic 是一个以 Windows 10/11 为主目标平台的 Flutter 音乐播放器,当前已具备:
- Windows 桌面壳层、自定义窗口与基础主题
- 本地音乐扫描、播放、封面显示
- 播放队列、顺序/循环/随机模式
- 用户播放列表(创建、添加、删除、播放全部、随机播放)
- 在线搜索
kw/kg/tx/mg/wy - 多脚本 LX 音源管理与远程解析播放
- 基础歌词面板、LyricsIsland 投射
flutter_lyric动画歌词与逐字/逐行歌词解析- Discover 完整数据页(网易云直连)
- Flutter 3 / Dart 3
flutter_blocjust_audio+audio_serviceflutter_jsIsar+Hive+YAML(设置)flutter_lyric
flutter pub getflutter run -d windowsflutter analyze
flutter test
flutter build windows --debuglib/app:应用启动、依赖装配、路由lib/core:播放、歌词、音源、平台、存储等基础设施lib/features:按功能划分的页面与状态层lib/shared:共享模型与通用组件test:单元测试与 Widget 测试
- Windows 优先使用程序可执行文件同级的
mmdata/目录存储应用数据。 - 如果程序目录不可写(例如安装在
Program Files),会自动回退到系统应用支持目录下的mmdata/。 - 当前统一目录结构为:
mmdata/config/settings.yaml:设置mmdata/data/isar:资料库、播放列表、歌词缓存、音源元数据等 Isar 数据mmdata/state/hive:播放队列恢复mmdata/cache/artwork:封面缓存mmdata/sources:音源脚本缓存
- 首次启动会自动从旧存储位置迁移数据到新结构,但不会删除旧数据。
- 本地
.lrc继续走基础歌词链路 - 远程歌词优先解析
lxlrc / ttml / qrc / enhanced lrc / lrc - 动画歌词默认开启,使用
flutter_lyric原生渲染 - 关闭动画歌词后,会自动回退到基础歌词面板
- 首版使用网易云公开接口
- 当前展示:
- 官方榜单
- 精品歌单
- 热歌榜试听
- 新歌速递
- 榜单/歌单详情页支持:
- 仅凭路由
id直开 - 播放全部
- 随机播放
- 完整曲目列表
- 仅凭路由
- 首页各区块独立加载与错误恢复,单个接口失败不会拖垮整个 Discover
- 本地资料库、播放列表详情、Discover 热门曲目点击播放时,会装入当前上下文队列
- 搜索结果点击播放时,默认只创建单曲队列
- 支持:
- 顺序播放
- 列表循环
- 单曲循环
- 随机播放
- 支持:
- 下一首播放
- 加入播放队列
- 队列拖拽排序
- 退出应用后恢复队列与播放模式
- 当前恢复行为仅恢复队列与模式,不自动播放,也不恢复播放进度
- 支持创建、重命名、删除播放列表
- 支持从本地资料库、搜索结果、Discover、播放列表详情将曲目加入播放列表
- 播放列表详情页支持:
- 播放全部
- 随机播放
- 从列表移除曲目
xm在当前阶段未开放,不出现在搜索筛选项中
just_audio_windows仍可能输出原生线程相关告警- 目前未对
just_audio_windows做本地 fork;该问题暂按上游限制处理 - 如果后续确认上游发布了修复版本,可优先考虑升级依赖而不是在仓库内维护插件分叉