web-dev-qa-db-ja.com

サウンド出力がミュートされているかどうかを確認します(「ALSA」と「Pulseaudio」)

出力をミュートしているかどうかに応じて、1または0を出力するコマンドを探しています。

私はこれを試していました:

amixer sget Master

これは私が得る出力です:

Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 64 [100%] [0.00dB] [on]

ここで値がそれに応じて変化します(音量を下げると、パーセンテージとdB値が変化します)。ただし、Pavucontrolに移動し、[出力デバイス]タブで出力をミュートすると、上記のコマンドの出力は同じままになります。文字通り何も変わりません。しかし、私の音は確かにミュートされています。

どのコマンドを使用する必要がありますか? [on][off]に変更されないのはなぜですか?いけませんか?

前もって感謝します。

2
bp99

長い検索の後、私は実際に答えを見つけることができました。これは、このようなものを探している他の人に役立つかもしれません!

あなたが必要なもの:

pacmd list-sinks

このコマンドには、次のような行があります。

muted: no

そして、このnoは、デバイスをミュートすると、実際にはyesに変わります。完璧です。誰かがそれを必要とするならば、私はこのコマンドを使って何とか出力を取り除くことができました:

pacmd list-sinks | awk '/muted/ { print $2 }'

投稿が早すぎて申し訳ありませんが、どこにも解決策が見つからないようです。

3
bp99