一个为 Windows 10 Mobile(Lumia 950 等)打造的 UWP 音乐播放器,融合本地音乐库与网易云音乐在线功能。
- 本地音乐库:基于文件夹扫描本地曲库(
FutureAccessList持久授权,无需每次重新选择文件夹) - 元数据与封面:内嵌标签 → 本地封面文件 →
.incyde缓存 → 在线(网易云 / QQ 音乐 / MusicBrainz)多级回退 - 网易云在线功能:发现页(每日推荐 / 私人 FM)、在线搜索、歌单、评论
- 歌词:本地
.lrc优先,支持在线歌词获取 - 播放:播放队列、随机 / 单曲循环、睡眠定时关闭、SMTC(系统媒体控制)集成
- 主题:明亮 / 暗黑 / Medieval(羊皮纸风格)等多套主题
| 播放页 | 曲库 / 歌单 |
|---|---|
![]() |
![]() |
| 发现 | 搜索 | 评论 |
|---|---|---|
![]() |
![]() |
![]() |
- UWP(Universal Windows Platform),MVVM 架构
- 最低 SDK 10586(Windows 10 Mobile / Lumia 950),目标 SDK 22621
- 服务层以单例挂载在
App上:Cache → Metadata → CoverArt → Library → Playback → Player(共享PlayerViewModel) - 仅依赖
Microsoft.NETCore.UniversalWindowsPlatform,无其他 NuGet 包
用 Visual Studio 2017 及以上版本打开 Incyde.sln:
- 部署到真机(如 Lumia 950)选择
ARM平台 - 模拟器 / 桌面调试选择
x86平台
或使用 MSBuild 命令行构建:
msbuild Incyde\Incyde.csproj /p:Configuration=Debug /p:Platform=ARM
暂无自动化测试与 CI。
- 目标是 Windows 10 Mobile,因此仅能使用 C# 6 语法(无
x:Bind函数绑定、无元组 /out var),且不能使用StackPanel.Spacing等较新 API MediaPlayer相关事件在后台线程触发,UI 更新需经由调度器(ViewModelBase.NotifyOnUI)- 曲库通过一层文件夹扫描(根目录 → 子文件夹分组),不做更深层级递归




