在 ubuntu 22.04 中,我能够使用 PulseAudio 音量控制确定哪些音频信号(例如 DD(AC3)、DD+(EAC3)和 DTS)通过 HDMI 发送到我的接收器。
我使用 VLC 3.0.17.4 播放的视频的音频以正确的格式发送到我的接收器。
自 22.10 版本以来,Pipewire 作为音频服务器已不再起作用,我的接收器不再在 DD、DD+ 和 DTS 信号之间切换(默认为 DD)。例如,当我播放 DTS 音频时,我的接收器停留在 DD 上。
在 PulseAudio 音量控制中,我仍然可以设置接收器可以识别的信号,但重启后这些选项都会再次关闭。因此设置不会被保存。
当我在重启后将音频信号重新设置到 PulseAudio 音量控制中时,DTS 会传递到我的接收器,但 AC3 和 EAC3 通常不会,或者我会听到间歇性非常断断续续的音频,就好像一段音频像样本一样一遍又一遍地重复。
我已经重新安装了 PulseAudio Volume Control、Wireplumber 和 Piperwire,但没有帮助。
还有其他人有这个问题吗?
也欢迎提供以不同方式播放 AC3/EAC3 的提示!
^ 重启后所有高级音频选项再次关闭
接下来,我尝试通过终端手动设置格式。首先,我使用以下命令获取接收器的 ID:
pactl list short sinks
我拿到了身份证,然后我就这么做了
pactl set-sink-formats 56 'pcm;ac3-iec61937;eac3-iec61937;mpeg-iec61937;dts-iec61937;mpeg2-aac-iec61937'
我检查过了pactl 列表接收器如果有格式,它们确实存在。但是,我的音频也得到了同样的结果,DTS 被发送到我的接收器,而 AC3 / EAC3 却没有播放。重启后,我检查了pactl 列表接收器然后列出的唯一格式是 PCM,其余的又消失了。
有人知道发生了什么事吗?
另外 - 接收器 ID 发生变化是正常的吗?昨天 HDMI 接收器 ID 是 56,今天是 52。
我的信息来自 Pipewire 上的 Migrate PulseAudio wikiGitLab。