ヘッドフォンとラップトップスピーカーを切り替えるときの ALSA PulseAudio サウンド出力

ヘッドフォンとラップトップスピーカーを切り替えるときの ALSA PulseAudio サウンド出力

Gentoo システムに PulseAudio をインストールしてから、ヘッドフォン ジャックを抜くと、ラップトップのスピーカーからオーディオ出力が出なくなりました。

問題は、ALSA と PulseAudio がオーディオ コントロールを管理する方法にあると思います。ヘッドフォンが接続されると、すべてが完全に正常で、Intel HDA PCH の alsa コントロールは正しく構成されているため、「マスター」および「ヘッドフォン」のボリューム バーが正しく構成されています (これは、ルート権限で alsamixer を見るとわかります)。ヘッドフォン ジャックを抜くと、ボリューム設定が明らかに正しい方法で自動的に変更されます。つまり、「ヘッドフォン」バーはミュートされて 0 に設定され、「スピーカー」バーはミュート解除されて最大になります (ヘッドフォン ジャックを接続するとミュートされます)。「マスター」は常にミュート解除され、目的のボリューム レベルになります。実際には、alsamixer を使用してヘッドフォン出力を手動でミュート解除して増幅することで、スピーカー出力を機能させることができます。ただし、ヘッドフォンを接続/切断するたびにこの操作を実行する必要があります。これを修正する方法はありますか? ALSA システムでヘッドフォン出力をスピーカー出力から何らかの方法で切り離すことはできないでしょうか?

私のラップトップは2011年製のHP Pavilion G6です。

ありがとう。

答え1

ファイル /usr/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf を編集し、次のセクションを見つけます。

[Element Headphone]

そして、その行をコメントする

switch = off
volume = off

最終結果は

[Element Headphone]
#switch = off
#volume = off

私の場合、問題は「ヘッドフォン」チャンネルがミュートされていたために発生していましたが、何らかの理由で、ノートパソコンのスピーカーを動作させるには、このチャンネルをミュートする必要はありませんでした。

変更後、ヘッドフォンを取り外しても、ヘッドフォンがミュートされたり、音量がゼロになったりしなくなりました。

あなたのケースでどのチャンネルがミュートされているかを「デバッグ」するには、alsamixer を使用できます。alsamixer 内で「C」を押してオーディオカードを選択します (デフォルトでは、pulseaudio メイン チャンネルのボリュームが設定されています)。ヘッドフォンを接続および取り外して、何が変わるかを確認します。

関連情報