ヘッドフォン/スピーカーが接続されていることを確認する方法

ヘッドフォン/スピーカーが接続されていることを確認する方法

オーディオ出力を生成するスクリプトを実行しており、ヘッドフォンがノートパソコンに接続されているかどうかに応じて異なる音量レベルを設定したいと思います。

私のスクリプトはすでにさまざまな音量レベルを設定しており、オーディオ出力に何かが接続されている場合はヘッドフォンであることを知っています。また、スクリプトの実行中はプラグ/プラグ解除状態は変わりません。したがって、スクリプトの起動時に何かが挿入されたかどうかを知る必要があります。

私はDebianテストを実行していますが、私のカーネルはそうではありませんCONFIG_SND_HDA_INPUT_JACK。しかし、好ましくは、この方法はすべての* nixで機能します。

ベストアンサー1

短いスクリプトはすべてのカードをナビゲートします。

#!/bin/sh
# You can put the function below into /etc/profile.d/99-headset.sh
#
has_headset(){
  grep -A4 -ri 'Headphone Playback Switch' /proc/asound/card*/* | \
    grep "Amp-Out vals.*0x00 0x00" -q
}

has_headset

おすすめ記事