为什么是 DpdoPlayer
播放器最容易糊弄的地方是“能出声就算好”:设备到底有没有走直出、DSD 有没有被悄悄转成 PCM、进度条是不是跑在声音前面 —— 这些光看界面看不出来。DpdoPlayer 把每一环都做成可核对的事实,下面是具体差别。
- 一份引擎,四个平台同一套行为 — 桌面图形界面、命令行、Android、iOS 跑的是同一个 PlayerEngine 内核。同一个设置在哪个平台都是同一种结果,不存在“手机一套、电脑另一套”。
- 直出优先,回退透明 — 原生 DSD → DoP → DSD→PCM 三级回退。开播前就写明这一场实际走哪条;失败给具体原因(设备没有 DSD 通路 / 载体率不支持 / 独占被占用),不用“能出声”掩盖降级。
- 能不能直出按证据判,不靠猜 — 依据是 USB 端点与 176400 独占实测、已知机型表、用户标记三样;板载 codec 这类架构上没有 DSD 通路的直接判否 —— 避免“板载 + 强制 DoP = 一片噪声”。
- 收尾把设备交还干净 — 会话结束把 DSD 域切回 PCM、把接口还给系统驱动。Windows 上 DSD 域残留会让浏览器和别的播放器全是噪声,这条最容易被人忽略。
- 音量只动设备侧 — 1-bit DSD 流绝不做软件衰减(那会破坏比特完整性):调音量走设备侧的硬件音量;没指定音量时,不动你设备上原来的值。
- 大文件按路径直读,不复制 — 手机上几 GB 的 SACD ISO 直接打开原文件播放,不先拷进应用目录。
- 进度按“已听到”算 — 进度用的是设备真正播出的帧,不是“读到哪算哪” —— 长曲和 DSD 不会出现进度条跑到声音前面。
- 出错能查,不静默降级 — 日志是短句 + 明确原因;版本号、设备能力判定、回放路径都只有一个来源,不会出现“界面说一套、引擎做另一套”。
手机端(Android)
手机版和桌面版不是两套东西:同一只引擎,加上按路径直读、独占 USB 与整条链路的真值显示。
- 与桌面播放器同一个引擎(DpdoEngine) — 不是另做一套精简播放器:SACD ISO / DST / DSD→PCM / DoP 全套解码能力都在同一只引擎里。
- 独占输出:接 USB-DAC 时绕开系统混音器,采样率自适应素材 — 应用自己接管 USB 设备、按素材选档,并用 UAC2 SET_CUR 给 DAC 设率、GET_CUR 回读核对(真机实测 176400 Hz / 24 位载 DSD),不锁死在固定采样率;拿不到就如实回退,设备页写明当前是哪条出口。
- 按路径直读手机里的文件,不先复制 — 数 GB 的 SACD ISO 点开就放,不用等它先拷一份进应用目录。
- SACD ISO 逐轨展开、轨间无缝 — 碟内每一轨在曲库列表里展开,点哪轨放哪轨,一路连播到碟尾。
- 「音频链路」面板如实到底 — 点一下摊开这条链每一级的真值:音源格式 / 采样率 / 位深 → 解码器 → 有没有重采样、有没有重量化 → 真正出声是哪一路(连系统混音器那一级都写清);引擎没报过的值一律写「—」,不编数字。
- 授权走官网激活码 — 不需要 Google Play、不需要商店账号。
安装包与 sha256 见下载页 →