web-dev-qa-db-ja.com

コマンドラインを使用して、マイクのミュートまたはミュート解除の正確なステータス、またはマイクの音量レベルを確認するにはどうすればよいですか?

これは非常に奇妙です。デフォルトのマイクが1つあり、2番目のマイクがもう1つあります。このコマンドを使用すると、常にミュートではなく、マイクの音量が0%と表示されます。どのように、またはどのような方法でこれらの値を正確に見つけることができますか。

$ pactl list | sed -n '/^Source/,/^$/p' | grep Mute
    Mute: no
    Mute: no
    Mute: no
4
YumYumYum

Pulseaudio Command Line Interface を使用して、利用可能なソースに関する多くの情報を取得します

pacmd list-sources

かなり長いリストが表示されます。現在のアクティブな入力には、アスタリスクが付いています。これをgrepと組み合わせることができますが、出力が有効なソースの情報が失われます

pacmd list-sources | grep volume

出力を定義された値に設定するには、発行するlist-sourcesによっても与えられるインデックスを知る必要があります

pacmd set-source-volume <index> <value> # value: 0 = mute 65536 = 100%

また、シンクソースのミュートを解除する必要がある場合があります

pacmd set-source-mute <index> 0
6
Takkat

これは、マイクのミュートを1行で切り替える/切り替える簡単なソリューションです。

これが役立つと思う

Mictoggleオンラインスクリプトを作成しました

$ cat /usr/local/bin/mictoggle

pactl list sources | grep -qi 'Mute: yes' && pactl set-source-mute 1 false || pactl set-source-mute 1 true
1
marco

この情報にアクセスするには、amixerを使用します。すべてのサウンドコントロールを一覧表示するには、コマンドを発行できます

$ amixer controls
...
numid=18,iface=MIXER,name='Capture Source'
numid=19,iface=MIXER,name='Capture Switch'
numid=20,iface=MIXER,name='Capture Volume'
...

次に、コントロールの値を読み取ります

$$ amixer cget numid=20
numid=20,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=15,step=0
  : values=0,0
  | dBscale-min=0.00dB,step=1.50dB,mute=0

amixerのmanページをご覧ください。興味深いのはalsamixerであり、より直感的なコマンドラインインターフェイスを提供します。

1
Lucas