停止将debian音频输出自动从S / PDIF更改为HDMI

时间:2019-11-30 02:53:35

标签: debian alsa pulseaudio hdmi

我正在使用Debian10。我的显示器的声音质量很差。我将声音输出分配给S / PDIF,并通过Bechmark DAC1和JBL监听器获得出色的声音。工作了多年。突然,我的声音默认设置不断切换到HDMI。起初,声音只有在使用新的Firefox Web浏览器时才发生变化,但之后一直都在发生。每天不得不使用pavucontrol 100次以保持声音输出分配给S / PDIF变得非常烦人。

1 个答案:

答案 0 :(得分:0)

Firefox和Chrome使用Pulse Audio自动将输出重定向到HDMI。由于Pulse Audio在首次执行时会为每个应用程序保存声音设置,因此问题变得越来越严重。当您不播放声音时,您将不知道网络浏览器何时将输出切换为HDMI,但是新设置将被记录为您要运行的下一个应用程序所需的输出。在应用程序运行时切换输出后,Pulse Audio倾向于保留录制的HDMI设置,这将导致下次您运行该应用程序时,输出再次切换到HDMI。常见的网络浏览器会非常频繁地将输出切换到HDMI-当您打开新标签页,点击播放电影等时。

解决方案是删除Pulse Audio。

$ sudo apt-get purge *pulse*
$ sudo apt-get autoremove
$ reboot

请确保您查看由apt-get purge *pulse*生成的列表,以确保仅删除与Pulse Audio相关的软件包。

您现在必须使用$ alsamixer之类的ALSA实用程序来选择音频输出,而$ amixer set PCM db...(可以分配给音量键)则要调整音量,因为$ pavucontrol和{{1 }}将不再存在。

我对该过程进行了两次测试:安装通用脉冲音频程序包,重新出现问题,并使用$ pacmd消除问题。我发现这很有趣,这可以解决问题,因为libpulse0(Pulse Audio基础软件包)仍保留在我的系统上(可能与我安装的另一个软件包有关)。

我也有一个问题,通过重新启动将声音输出默认设置为S / PDIF而不是HDMI。我通过使用以下命令创建〜/ .asoundrc来解决此问题:

apt-get purge *pulse*

如果我将从站直接设置为hw:0,1(我的S / PDIF输出),那么我会松开音量控制。我不明白我的回答,我只知道它有效。作为旁注;在反复寻找解决方案的几个月中,我发现了openbox(一种速度更快的系统,具有出色的键盘声明),但我错过了XFCE屏幕放大功能。