web-dev-qa-db-ja.com

サウンドカードのホットプラグに関するボリュームウィジェットの問題

USBサウンドカードを差し込むと、現在のオーディオ出力(BansheeやPCスピーカーなど)がすぐに切り替わる場合があります。しかし、ボリュームコントロール(システムトレイのサウンドウィジェット、ボリュームキーボードのキー)が古いサウンドカードに残っています。

PCスピーカーの音量を超高に設定しながら、サウンドカードとアンプを接続します。サウンド設定またはalsamixerを開かないと、ボリュームを制御できません。これはおそらくいくつかの国で隣人を混乱させる可能性があります。システムトレイのサウンドウィジェットや音量キーボードのキーを使用して制御することはできません。

ハードウェアオーディオ出力の自動切り替えを無効にする方法、またはソフトウェアボリュームコントロールの自動切り替えを有効にする方法ソフトウェアの動作をハードウェアの動作と一致させることは素晴らしいことです。

Ubuntu 11.10バニラは最新です。

8
jpic

特定のイベントに作用するように記述されたudevルールを使用して、必要なものを達成できます。この場合、これらのイベントはusbサウンドカードを差し込み、取り外すことです。 this フォーラムの回答によると、可能な解決策は次のようなものです:

  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サウンドカードのプラグを抜き差しして、このルールをテストします。

これがお役に立てば幸いです。

2
numand