强制音频输出高质量

强制音频输出高质量

我正在运行带有pulseaudio的CentOS 7。由于显示器固件中的错误,我必须通过显示端口音频以 24 或 32 位发送音频(而不是 16 位,这会导致显示器上出现音频故障)。

如何知道 Linux 当前使用的音频分辨率?我怎样才能将其强制为 24/32 位?

答案1

想不出一个简单的方法来做到这一点。

我会尝试使用hwslave ALSA插件用于强制格式为 24/32 位。首先直接使用 ALSA 进行测试,并停止 Pulseaudio(pasuspender等等aplay -D)。然后使用module-alsa-sink 脉冲音频模块为其创建一个 Pulseaudio 接收器 ( pacmd load-module)。如果这没有自动发生,您可能需要修改module-udev-detect调用以忽略旧的 ALSA 硬件。/etc/pulse

(非常一般的建议,我必须自己尝试一下才能获得逐步描述)。

pacmd list-sinks并且pacmd list-sink-inputs有一个sample spec指定使用的位宽的字段,但我不确定考虑到所涉及的各个地方的各种转换,该字段的准确性如何。

答案2

我怎样才能将其强制为 24/32 位?

/etc/pulse/daemon.conf集合中

default-sample-format = s24ne

相关内容