两版差异对照
两者是分别开发的独立软件,功能有重叠但不完全相同,设置与数据也不互通。下表列出每一项的实际差异。
以两款各自「目前发布的版本」为准。历次变更见版本记录。
| 功能 | Windows | Android |
|---|---|---|
| 媒体库管理 | 搜索标题、艺术家、专辑、作曲、作词 | 搜索标题、艺术家、专辑、文件夹 |
| 大量曲目 | 百万首实测流畅 | 百万首实测流畅 |
| 均衡器 | 18 段,11 种预设,可保存具名自定义 | 10 段,11 种预设,含自定义 |
| 音效 | 低音、混响、回声、和声、人声消除 | 低音增强、虚拟化、空间音效(依设备而定) |
| 变速变调 | 0.5×–2.0× 变速,−12~+12 半音变调,两者独立 | 0.5×–2.0× 变速,−12~+12 半音变调,两者独立 |
| 音频输出 | WASAPI 共享 / 独占(比特完美) | 系统输出 |
| DSD 播放 | DSF 软件解码(DSD64/128/256,44.1 kHz 系),输出 44.1 kHz PCM,任何声卡皆可 | 不支持 |
| 歌词 | 全屏歌词页、卡拉 OK 高亮、翻译行、可切换双语显示顺序 | 全屏歌词页、卡拉 OK 高亮、翻译行、可切换双语显示顺序 |
| 歌词编辑 | 内置编辑器,时间轴整体平移 | 内置编辑器,时间轴整体平移 |
| 编辑信息 | 数据库模式 / 磁盘模式 | 写回音频文件 |
| 格式转换 | 转成 FLAC、ALAC、WAV、AAC、MP3、Opus 六种,可批量,原文件不动 | 不支持 |
| 播放列表 | 智能列表、最近播放、最高评分 | 自定义图标、独立播放模式 |
| 随机播放 | 星级加权 | 习惯加权,范围内每首恰好播一次,重开续用 |
| 主题 | 四套(深色 / 浅色 / 午夜蓝 / 琥珀) | 6 种主题色 + 深色模式 |
| 界面语言 | 15 种(含意大利语、荷兰语) | 15 种(含印尼语、越南语) |
| 定时关闭 | 15/30/60/90 分钟 | 15/30/60 分钟、自定义、播完本首 |
| 后台播放 | 最小化后继续播放 | 后台播放、锁屏控制、蓝牙/车载媒体键 |
技术细节
CX'Music(桌面版)
C# · .NET 8 · WinUI 3 · NAudio · SQLite + FTS5
- 音频管线是自定义的 ISampleProvider 串接(NAudio 之上的自建 DSP 链):解码 → 18 段均衡器 → 效果器 → 变速变调 → 音量 → WASAPI 输出
- 进度以 WASAPI 实际消耗的采样数为唯一时间来源,避开硬件 seek 落点不可信的问题
- DSF 解析与 DSD → PCM 转换为纯 C# 实现
- 分页虚拟化 + Keyset 深分页。一百万首的合成曲库实测过列表滚动与搜索,过程中没有出现卡顿;那份曲库没有封面、也没有大文件,所以量到的是列表与查询本身。
CX's Music(移动版)
Kotlin · Jetpack Compose · Media3 (ExoPlayer) · Room · Hilt
- 随机播放采用 Efraimidis–Spirakis 加权无放回排列,范围内每首恰好播一次
- 排列持久化到数据库,程序被系统终止后可接续消费
- 虚拟队列窗口,播放器仅持有 50 首,承载百万级曲库
- 内嵌歌词支持 ID3 SYLT/USLT、Vorbis Comment、MP4 atom 三种格式
界面语言完整清单
- CX'Music(桌面版)
- 繁體中文 · 简体中文 · English · 日本語 · 한국어 · Español · Français · Deutsch · Português · Русский · Italiano · Nederlands · Ελληνικά · العربية · हिन्दी
- CX's Music(移动版)
- 繁體中文 · 简体中文 · English · 日本語 · 한국어 · Español · Français · Deutsch · Português · Русский · Bahasa Indonesia · Tiếng Việt · Ελληνικά · العربية · हिन्दी
两者的差别只在两个位置:桌面版有意大利语与荷兰语,移动版有印尼语与越南语。网站本身提供 17 种语言,是两边的并集。