想听Apple Music无损,该怎么入门?
好消息好消息,字母表总算想通了,在 Android 14 的时候增加了一个非常苹果的 API,可以让 USB DAC 实现 bit-perfect 输出[1],不光能跑一般的 PCM,甚至还能跑 DSD-over-PCM(当然 Apple Music 里都是 PCM),这下成苹果安卓了。

众所周知,过去 Android 平台想要实现 bit-perfect 输出需要独占整个 USB DAC,如果用户不听歌了但忘记 detach 掉这个设备就会导致整个系统没声音,而我们不能假设所有用户记性都足够好,不会忘记 detach,所以苹果一直没做独占输出功能,这下机会来了,作为全球知名的原生安卓开发者,苹果也是在第二时间用上了这个新 API。根据 reddit 老哥的测试,至少早在 2025 年 7 月,Android 版 Apple Music 就已经支持了 USB DAC 的 bit-perfect 输出[2],所以你可以直接在 Android 14 及以上版本、通过 CTS 认证(开机界面有一个绿色小机器人和 Powered by Android 字样)的 Android 设备的 Apple Music 里直接听 bit-perfect 的无损音乐了!但记得把系统音量开到 100% (用 DAC 的音量键控制音量)并关闭各种乱七八糟的系统音效
我帮你做个测试,这款 USB DAC 在 44.1/48kHz 下亮红灯,在 88.2/96kHz 下亮绿灯


当然你也可以抓取 Android 音频服务的日志来确认:adb logcat --pid=$(adb shell pidof audioserver)

04-15 20:32:45.681 1500 2105 D APM_AudioPolicyManager: startOutput() output 493, portId 3784, stream 3, session 2593, sample_rate 96000, format 0x5, channel_mask 0x3, appname com.apple.Android.music)
04-15 20:32:45.681 1500 2105 D APM_AudioPolicyManager: setOutputDevices caller startSource[[portId:3775][io:493, hifi_playback]] prevDevice {AUDIO_DEVICE_OUT_USB_HEADSET, @:card=1;device=0}
04-15 20:32:45.681 1500 2105 D APM_AudioPolicyManager: setOutputDevices caller startSource[[portId:3775][io:493, hifi_playback]] changing device to {AUDIO_DEVICE_OUT_USB_HEADSET, @:card=1;device=0}当然了,再苹果的安卓还是安卓,虽然 API 比较苹果,但是实现足够安卓啊。你也看到了,HAL、APM 和它的动物朋友们都没缺席,你想要 Core Audio 一样的清爽简洁估计有生之年都不会有了,后果就是性能非常差,延迟必然是起飞的,我测试下来部分性能不算差的过气旗舰机甚至都存在在 96kHz 下因 jitter 而爆音的情况