커맨드 라인에서 볼륨 레벨을 얻는 방법? 텍스트 상태 표시 줄이 있으며

타일링 창 관리자에 텍스트 상태 표시 줄이 있으며 tcl을 사용하여 정보를 제공합니다. 현재 볼륨 레벨 0 % ~ 100 %를 출력하는 명령 줄이 필요합니다. 아치 리눅스를 사용하고 있습니다.



답변

amixer상태 표시 줄에서 볼륨의 출력 을 구문 분석하는 단일 라이너 :

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


답변

이를 위해 사용할 수 있습니다 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%
$


답변

권리

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%


답변