你的音乐,在你自己的手机上

不联网、不注册、不打扰。CX's Music 是 Android 上的本地音乐播放器,完全免费、开放源代码。

  • 完全离线
  • 免注册
  • 无广告
  • 开放源代码
CX's Music 播放界面:上方是方形专辑封面,下方依次是歌名、艺术家、三行歌词(当前句以白色粗体显示)、进度条 0:56 / 2:38,以及重复、上一首、暂停、下一首、添加五个按钮
播放详情

为什么用它

真的离线

不需要网络、不需要账号、不上传任何东西。你的音乐文件就在你自己的设备上,播放器只负责播放。

音质与音效不将就

10 段均衡器与系统空间音效,不同文件夹或播放列表可以各用一套设置。

歌词做到位

逐行同步、卡拉 OK 式高亮、双语歌词可切换上下。内嵌歌词与外部 LRC 都能读,还能自己编辑时间轴。

功能一览

以两款各自「目前发布的版本」为准。历次变更见版本记录。

功能Android
媒体库管理搜索标题、艺术家、专辑、文件夹
大量曲目百万首实测流畅
均衡器10 段,11 种预设,含自定义
音效低音增强、虚拟化、空间音效(依设备而定)
变速变调0.5×–2.0× 变速,−12~+12 半音变调,两者独立
音频输出系统输出
DSD 播放不支持
歌词全屏歌词页、卡拉 OK 高亮、翻译行、可切换双语显示顺序
歌词编辑内置编辑器,时间轴整体平移
编辑信息写回音频文件
格式转换不支持
播放列表自定义图标、独立播放模式
随机播放习惯加权,范围内每首恰好播一次,重开续用
主题6 种主题色 + 深色模式
界面语言15 种(含印尼语、越南语)
定时关闭15/30/60 分钟、自定义、播完本首
后台播放后台播放、锁屏控制、蓝牙/车载媒体键

完整的语言清单见下方的技术细节。

支持格式

MP3 · M4A · FLAC · WAV · OGG · Opus

这六种都是 Android 兼容性规范要求每台设备都必须支持的格式,所以不会有「这台手机少了某个组件」的问题。

屏幕截图

播放详情
CX's Music 播放界面:上方是方形专辑封面,下方依次是歌名、艺术家、三行歌词(当前句以白色粗体显示)、进度条 0:56 / 2:38,以及重复、上一首、暂停、下一首、添加五个按钮
歌词
歌词页:整首歌的歌词逐行列出,当前这一句以蓝色粗体置于屏幕中央,离它越远的行越暗,顶部是歌名与艺术家
均衡器
均衡器页:顶部是总开关与「预设:民谣」,下方是可左右滚动的频段滑杆,再往下依次是低音增强、虚拟化两个滑杆、一个已开启的空间音效开关,其下注明系统空间音效已在系统设置中关闭,以及升降调

下载与安装

完全免费、无广告、无内购。安装包由我们自己的 CDN 提供,不需要任何账号。

CX's Music for Android

版本
v1.1.1
发布日期
文件大小
5.1 MB
系统需求
Android 8.0 以上
下载 APK

安装包由我们自己的域名 dl.cxapps.app 提供,该域名使用 Cloudflare R2 存储,点击下载时 Cloudflare 的隐私政策适用于该连接。 隐私声明

SHA-256 校验码

1c444606490909eabf5b7003fb6e48c9ba20577366122ae11640c5edd2e8236c

这是 APK 安装包,安装时需要多做一步

这款软件没有上架 Google Play,需要直接安装 APK。首次安装时,Android 会先问你是否允许用这个来源(浏览器或文件管理器)安装应用,选择同意即可。

接着系统或 Play Protect 可能提示不认识这个开发者,选择继续安装即可。各家手机的用词与步骤不同,但问的是同一件事。

如果你想先确认文件完整性,可以用文件管理器或校验工具核对上方的 SHA-256 校验码。

你的系统可能以其他措辞显示这些按钮,位置与作用相同。

自己确认这个文件

上方的 SHA-256 能回答一个问题:你手上这个文件,与我们发布的那一份是不是同一份。

对不上,代表你手上这一份不是我们发布的那一份。先不要安装它,重新下载一次;如果还是对不上,用页脚的反馈渠道告诉我们——我们也可能是出错的那一端。

它不能回答另外两个问题:我们发布的那一份本身可不可信,以及它是不是由这一页列出的源代码构建出来的。

这个版本同样没有实作可重现构建,而且差异更大:Release 构建会经过 R8 缩减,签名密钥也不在源代码里(密钥不该公开)。所以你自行构建出来的 APK 一定与我们发布的那一份不同——对不上是预期的。你仍然可以自行构建一份自用,但要先知道代价:自建的签名与我们的不同,无法直接覆盖安装在已安装的版本上,必须先卸载,而卸载会清空这个 App 在你设备上的全部数据——播放次数、播放列表、收藏都会没有。

没有自动更新

从 Google Play 安装的应用会自动更新,但直接安装的 APK 不会。新版本推出时你不会收到通知。

查看版本记录

源代码

源代码下载

a73733d.zip

0.5 MB ·

470d71847942209212ea9530a1b7dc5fe07c665df5cece968374f44a0b5d997d

文件名是提交的短哈希,不是版本号——源代码与发行版本不一定同步。压缩包由 git archive 从该次提交生成。

源代码公开,代表你可以逐行审阅它在做什么。它不代表上方那个下载文件一定是由这份源代码构建出来的——我们没有做过那个验证,这两件事要分开看。 自己确认这个文件

原本的仓库

github.com/hnshysglxfsccx-hub/cxmusic-android

这个地址上的内容没有变动也没有丢失,但账号已被 GitHub 限制访问,任何人都打不开它,我们也不再预期它会恢复。

也提供 Windows 版 →

常见问题

这是免费的吗?有没有内购或广告?

完全免费,没有广告、没有内购、没有订阅。源代码以 MIT 许可公开。

需要注册账号吗?

不需要。两款软件都没有账号系统。

会不会上传我的音乐或使用数据?

不会。软件不联网,也没有任何统计或回报机制。你的音乐文件与播放记录都只存在你自己的设备上。

为什么安装时出现安全警告?

因为安装包没有购买代码签名证书,Android 对来源不明的安装包都会提示。上方的安装说明有详细步骤,你也可以用 SHA-256 校验码自行核对文件。

支持哪些音频格式?

完整清单在上方的「支持格式」一节。那六种格式在任何 Android 设备上都能播,不会有缺组件的问题。

有 iPhone 版吗?

目前没有。开发 iOS 应用需要 Mac 电脑与 Apple 开发者账号,暂时无法提供。

桌面版和移动版是同一个软件吗?

不是。两者是分别开发的独立软件,功能有重叠但不完全相同,设置与数据也不互通。

找到问题或想建议功能该怎么做?

回报问题时,附上软件版本与系统版本会很有帮助。

欢迎到 Codeberg 开 Issue。

技术细节

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 种语言,是两边的并集。