コマンドラインからボリュームレベルを取得する方法は?


15

タイルウィンドウマネージャーにテキストステータスバーがあり、tclを使用して情報を提供しています。現時点では、ボリュームレベル0%〜100%を出力するコマンドラインが必要です。Arch Linuxを使用しています。


解析することでそれができるはず/var/lib/alsa/asound.stateです。
— ヨルダン

注:将来的には、Archを使用しているということはあまり意味がありません。実際に重要なのは、ALSA、OSS、PulseAudioなど、使用しているサウンドサブシステムです。
— -strugee

1
タイトルに「クローズド」を追加する代わりに、自分の質問に答えてそのままにしておく必要があります
— ヨルダン

回答:


15

amixerステータスバーでボリュームのの出力を解析するためのワンライナー:

awk -F"[][]" '/dB/ { print $2 }' <(amixer sget Master)

どういう[][]意味ですか?
— おおよその数

4
@approximatenumberこれはどちらかとしてフィールドセパレータを設定]または[。
— -jasonwryan

涼しい。あなたが正規表現を持つことができるとは知りませんでしたF
— mihai

このコマンドを変数にどのように保存しますか?
— mike23

@ mike23vol=$(awk '/%/ {gsub(/[\[\]]/,""); print $4}' <(amixer sget Master))
— jasonwryan

12

amixerこれを使用して使用できます。

例

$ amixer get Master
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65536
  Mono:
  Front Left: Playback 65536 [100%] [off]
  Front Right: Playback 65536 [100%] [off]

次のように変更してミュートすることもできます。

ボリュームを75%に設定

$ amixer set Master 75%
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65536
  Mono:
  Front Left: Playback 49152 [75%] [on]
  Front Right: Playback 49152 [75%] [on]

ミュート/ミュート解除

$ amixer set Master toggle
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65536
  Mono:
  Front Left: Playback 65536 [100%] [on]
  Front Right: Playback 65536 [100%] [on]

--quietスイッチで出力を表示したくない場合は、出力をクワイエットできます。

$ amixer --quiet set Master 75%
$ 

6

正しい

amixer sget Master | grep 'Right:' | awk -F'[][]' '{ print $2 }'
85%

左

amixer sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }'
85%

サウンドサーバー

デフォルトとしてpulseaudioを使用していない場合はamixer、使用するサーバーを指定できます-D pulse

amixer -D pulse sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }'
85%

これは私にはうまくいきません...何らかの理由で、「スピーカー」のような他のチャンネルがあるにもかかわらず、マスターには「左」と「右」がありません。
— マイケル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.