声卡热插拔的音量小部件问题


8

插入USB声卡时,有时可能会导致当前的音频输出(即Banshee和PC扬声器)立即切换。但是音量控件(系统托盘中的声音小部件,音量键盘键)卡在了旧的声卡上。

将PC扬声器的音量设置为超高时,插入声卡和放大器。如果不打开声音设置或alsamixer,就无法控制音量。这可能会在某些国家引起邻居干扰。您无法使用系统托盘的声音小部件或音量键盘键来控制它。

如何禁用硬件音频输出的自动切换或启用软件音量控制的自动切换?使软件的行为与硬件的行为一致是非常好的。

最新的Ubuntu 11.10 Vanilla。


这不是解决方案,但是一种解决方法是插入和拔出耳机。这将强制切换控件。
RobotHumans 2012年

代替热插拔,这又是一个创可贴解决方案,也许您可​​以将其插入电源,不使用时手动将其配置文件切换为“关闭”?
AyaneForever 2012年

3
第三个创可贴解决方案:插入USB声卡之前,先将其调低音量-通常,所有音频设备(数字和模拟)的最佳做法是将所有电平调零,然后再将它们放在一起。
adempewolff 2012年

Answers:


2

您可以通过使用编写为对某些事件采取行动的udev规则来达到所需的目标。在这种情况下,这些事件是插入USB声卡并拔下它。根据这个论坛的答案,可能的解决方案如下:

  1. 打开具有USB声卡udev规则的文件:

    sudo -H nautilus /etc/udev/rules.d/10-usb-sound-card.rules
    
  2. 粘贴并复制

    KERNEL=="pcmC[D0-9cp]*", ACTION=="add", PROGRAM="/bin/sh -c 'K=%k; K=$${K#pcmC}; K=$${K%%D*}; echo defaults.ctl.card $$K > /etc/asound.conf; echo defaults.pcm.card $$K >>/etc/asound.conf"
    
    KERNEL=="pcmC[D0-9cp]*", ACTION=="remove", PROGRAM="/bin/sh -c 'echo defaults.ctl.card 0 > /etc/asound.conf; echo defaults.pcm.card 0 >>/etc/asound.conf'"
    
  3. 保存文件并给

    sudo udevadm trigger --action=add /etc/udev/rules.d/10-usb-sound-card.rules
    

命令。然后通过插入和拔下USB声卡测试此规则。

我希望这能帮到您。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.