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

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

  • 完全离线
  • 免注册
  • 无广告
  • 开放源代码
播放页显示封面、歌曲信息、逐行歌词、进度条与播放控制。播放页显示封面、歌曲信息、逐行歌词、进度条与播放控制。
播放详情

为什么用它

真的离线

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

音质与音效不将就

均衡器根据设备支持的频段工作,搭配系统空间音效;不同文件夹或播放列表可以各用一套设置。

歌词做到位

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

功能一览

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

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

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

支持格式

MP3 · M4A · FLAC · WAV · OGG · Opus

FLAC 由 App 内置软件解码,其余格式使用 Media3 与设备提供的解码能力。

屏幕截图

播放详情
播放页显示封面、歌曲信息、逐行歌词、进度条与播放控制。播放页显示封面、歌曲信息、逐行歌词、进度条与播放控制。
歌词
歌词页显示完整歌词,当前播放行以强调色与粗体标示。歌词页显示完整歌词,当前播放行以强调色与粗体标示。
音效与输出
音效与输出页,这台手机读到五个频段,下方显示低音增强、虚拟化、空间音效与输出格式。音效与输出页,这台手机读到五个频段,下方显示低音增强、虚拟化、空间音效与输出格式。
尚未读取设备频段
音效总开关关闭,频段区提示开始播放后读取;当前输出显示未知。音效总开关关闭,频段区提示开始播放后读取;当前输出显示未知。

第一次开启音效时

Android的均衡器频段由系统音效引擎与设备实现提供,没有所有手机通用的固定段数。上方开启后的截图读到5段;App按实际段数、中心频率与增益范围配置滑块。

首次使用、尚未读取设备能力时,页面会先提示开始播放后读取,不会先画出固定频段。开始播放并打开音效总开关后,成功创建均衡器才会读取并显示实际频段。

使用过后可能先显示上次读到的频段;每次重新创建均衡器,都会再次向系统确认。

下载与安装

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

CX's Music for Android

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

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

SHA-256 校验码

d92e0b4377303395cacf929579083bea3ccf2ef9858e2606c6658d0a1879e1c2

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

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

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

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

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

自己确认这个文件

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

如果你手上是更早的版本,它的 SHA-256 在这里:

  • v1.1.1 SHA-256 校验码1c444606490909eabf5b7003fb6e48c9ba20577366122ae11640c5edd2e8236c

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

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

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

没有自动更新

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

查看版本记录

源代码

源代码下载

f3f9211.zip

1.0 MB ·

f2407565c650b40f6e53f92d9a41f20dec1d5c847e88ae34bde3dc4192ee9bfd

文件名是提交的短哈希,不是版本号——源代码与发行版本不一定同步。压缩包由 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 种语言,是两边的并集。