我的ubuntu桌面不播放任何声音通过扬声器,连接到声卡。它总是通过HDMI显示器播放,就像它是唯一连接的声音播放设备。
我有这些设置,它仍然通过HDMI监视器播放。

当我把耳机插上电源时,系统会在“输出设备”中看到它,但声音仍然会通过HDMI。
当我移除HDMI监视器(它是我的辅助监视器)时,声音就可以正常工作了。
UPD
cat /proc/asound/cards
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xdf220000 irq 126
1 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xdf080000 irq 17你能帮上忙吗?
发布于 2020-06-14 11:15:50
pavucontrol允许您选择一个特定的输出switch output或类似的名称,使您可以通过静音/取消输出来更改输出(也可以用行调用HDMI )。最新情况:
我在我的一个项目中找到了一个脚本来强制模拟输出(在bash-compliant shell中以-compliant形式运行它):
aplay -l|grep Analog|grep -v Digital|sed 's/^card /defaults.pcm.card /g;s/:.\+device /\ndefaults.pcm.device /g'|cut -d":" -f1 > /etc/asound.conf 这将为/etc/asound.conf添加一个军备条目。
发布于 2022-04-10 20:02:44
found是一个更好的选项
如下面所述,使用systemd在启动时起作用,但在将设备插入已经在运行的系统时则不起作用。
要想在热插拔和启动时忽略音频,udev规则是更好的选择.
lsusb标识您想忽略$ lsusb总线006设备003: id 17e9:4307 DisplayLink LAPDOCK #<其他设备的供应商/产品ID -- about> -- ID部件给了我们神奇的数字/etc/udev/rules.d/80-ignore-audio-cards.rules。对于我来说,这看起来像: ATTRS{idVendor}=="17e9",ATTRS{idProduct}=="4307",ENV{PULSE_IGNORE}="1“,我任意地为文件名选择了80-前缀。如果您有任何与脉冲音频相关的规则,请确保新文件以较低的数字开头。在udev规则到位后,脉冲音频完全忽略了设备。
先前的答复:
遇到同样的问题,给出的答案对我来说在重新开始的时候都不起作用。我认为我的问题是对卡片的延迟检测;当脉冲音频启动时,它没有看到所有的卡片,module-switch-on-connect和module-switch-on-port-available的某些组合总是重置我的选择。
我通过在登录时创建一个系统用户单元来运行pactl set_card_profile "$MY_CARD_NAME" off来解决这个问题。
pactl并禁用卡:$ mkdir -p ~/..config/systemd/user$ nano ~/..config/systemd/user/disable-chars.service添加这些内容,更改ExecStart行以引用您想要删除的卡: Description=Disable卡Type=simple重新启动=on-failure ExecStart=pactl set-ExecStart=pactl set-profilesystemctl --user enable disable-cards现在,当您重新启动时,systemd将继续尝试断开该卡,直到它成功。在插入监视器后,可能有更好的systemd配置来运行该配置;每个设备都显示为一个“单元”(例如,在systemctl --user的输出中),因此可以在插入/拔出插头时对其进行改进。
另一种选择是将您的/etc/pulse/default.pa更改为使用module-switch-on-connect blacklist="REGEX_MATCHING_THE_CARD_NAME",但这对我不起作用;无法自定义module-switch-on-port-available,我认为这就是我选择它的原因。
https://askubuntu.com/questions/1250206
复制相似问题