UAC1.0·UAC2.0 Type I PCM 的 USB DAC 独占播放完整链路说明
支持的设备类型
- UAC1.0(USB Audio Class 1.0)
- UAC2.0 Type I PCM(兼容的 UAC2.0 Type I PCM 设备)
UAC2.0 Type II(ISO 模式)设备不在当前支持范围内。
设备选择与采样率
- 可在设置中手动选择 USB DAC 设备
- 采样率和位深按设备描述符匹配
- 跟随歌曲采样率:先按源采样率尝试,精确格式不可用时兼容策略开启后用 Kaiser 窗 sinc 多相重采样(阻带约 -90 dB),不再用线性插值
- 多声道声卡自动把立体声送到前两个声道、其余补零
比特完美模式
比特完美输出开启时:
- 软件增益固定为 0 dB,交给 DAC 硬件控制音量
- 应用不做音效、淡入淡出和重采样
- 按音源采样率和位深直接申请 DAC 格式
- DAC 带硬件音量时,音量键改为调节 DAC 硬件音量
- 状态页会如实显示是否因 DAC 不支持音源格式而未达成比特完美
USB 独占默认保持 bit-perfect 旁路,可在高级选项中手动允许 USB 输出也应用音效。
后台运行与悬浮窗保活
- 前后台切换会按网络或本地来源选择唤醒策略
- 可选开启「悬浮窗保活」:获得悬浮窗权限后在 USB 独占播放期间显示一个 1 像素、不可见、不拦截触摸的窗口,降低部分系统在后台冻结播放进程导致断联的概率
传输健康与卡死恢复
- 显式反馈端点解析:对需要异步显式反馈的 UAC1/UAC2 设备,解析时钟链和反馈端点,根据设备反馈调度音频包
- 重采样时钟:长调度间隙后重新进入反馈时钟捕获,避免使用陈旧的速率估计
- 动态传输扩缩容:播放卡死时通过原地重配置、协调式 AudioSink 重建、动态传输扩缩容和软恢复拉回,必要时回退到系统播放
- 硬件静音保护:打开 USB 独占时把 DAC 硬件静音解除、硬件音量设为 0 dB;关闭时写回原值,避免 DAC 沿用系统留下的衰减