it-swarm-ko.tech

명령 줄을 사용하여 볼륨을 변경하는 방법은 무엇입니까?

프로그래밍 스크립트를 사용하여 볼륨을 제어하려고합니다. Fedora 15, Ubuntu Linux에서 다음을 어떻게 수행 할 수 있습니까?

  1. 음소거/음소거 해제
  2. 볼륨 증가 및 볼륨 감소

참고 : 웹 USB 마이크/스피커와 아날로그 마이크/스피커도 사용합니다. 확실하게 모두에게 적용하고 싶습니다.

78
user11085

amixer 를 사용할 수 있습니다. 우분투와 데비안의 alsa-utils 패키지에 있습니다.

기본 장치의 컨트롤에 대한 개요를 보려면 매개 변수없이 amixer을 실행하십시오.

매개 변수없이 alsamixer을 사용하여 (같은 패키지에서)보다 시각적 인 개요를 얻을 수도 있습니다. F6을 사용하여 장치를보고 전환하십시오. 일반적으로 PulseAudio와 하드웨어 사운드 카드 중에서 선택할 수 있습니다.

그런 다음 amixer 명령과 함께 set을 사용하여 볼륨을 설정하십시오. 예를 들어, 마스터 채널을 50 %로 설정하려면 다음을 수행하십시오.

amixer set Master 50%

Master은 제어 이름이며 매개 변수없이 실행할 때 표시되는 이름과 일치해야합니다.

% 부호가 없으면 값을 0-65536 레벨로 처리합니다.

PulseAudio가 기본 장치가 아닌 경우 -D 스위치를 사용할 수 있습니다.

amixer -D Pulse set Master 50%

주석에서 지적한 다른 유용한 명령은 다음과 같습니다.

볼륨을 높이거나 낮추려면 숫자 뒤에 +/-를 사용하십시오.

amixer set Master 10%+
amixer set Master 10%-

음소거/음소거 해제 상태를 음소거, 음소거 해제 또는 전환하려면

amixer set Master mute
amixer set Master unmute
amixer set Master toggle

또한 기본 원시 및 일부 장치의 경우 더 데시벨 기반의 더 자연스러운 스케일 이라는 두 가지 다른 백분율 스케일이있을 수 있으며 alsamixer에서도 사용됩니다. 후자를 사용하려면 -M를 사용하십시오.

마지막으로 PulseAudio에만 관심이있는 경우 pactl을 확인하십시오 (다른 답변 중 하나 참조).

88
Dario Seidl

음소거하려면

amixer -D Pulse sset Master mute

음소거를 해제하려면

amixer -D Pulse sset Master unmute

볼륨을 5 % 높이려면

amixer -D Pulse sset Master 5%+

볼륨을 5 % 낮추려면

amixer -D Pulse sset Master 5%-
33
Eric Terry

pactl / pacmd (amixer와 달리)는 100 % 이상으로 볼륨을 늘릴 수 있습니다 :-).

pactl set-sink-mute 0 toggle  # toggle mute, also you have true/false
pactl set-sink-volume 0 0     # mute (force)
pactl set-sink-volume 0 100%  # max
pactl set-sink-volume 0 +5%   # +5% (up)
pactl set-sink-volume 0 -5%   # -5% (down)

pavucontrol와는 달리 alsamixer에서 100 % 이상의 수동 설정이 가능합니다.

참고 : 다른 호스트에서 다른 싱크로 동일한 명령을 공유하려면 @[email protected] 숫자 대신 싱크로 0 :

pactl set-sink-volume @[email protected] +5%

기본 싱크를 pactl set-default-sink my-sink-name (이름이 pactl list short sinks).

소스 : askubuntu.com , wiki.archlinux.org .

18
pevik

더 높은 볼륨 :

amixer set Master 3%+

낮은 볼륨 :

amixer set Master 3%-

음소거 토글 :

amixer set Master toggle

i3 / sway 에 대한 키 바인딩 예제 : 명령은 exec 다음에 있습니다.

bindsym XF86AudioRaiseVolume exec amixer set Master 3%+
bindsym XF86AudioLowerVolume exec amixer set Master 3%-
bindsym XF86AudioMute exec amixer set Master toggle
bindsym Ctrl+$alt+Up  exec amixer set Master 3%+
bindsym Ctrl+$alt+Down exec amixer set Master 3%-
5
Alexander

pevik 의 대답은 PulseAudio에 대해 거의 정확합니다.

  • 음의 볼륨 변경 명령은 마이너스 부분이 별도의 (인식되지 않은) 옵션으로 해석되기 때문에 오류를 생성합니다. 음수 앞의 어딘가에 이중 마이너스로 옵션 구문 분석을 해제해야합니다 (예 : "--5 %"

  • 진정한 음소거 상태는 동일한 키로 토글 할 수 있어야하는 것입니다. 볼륨을 고정 값 0으로 설정하면 작동하지 않으므로 올바른 명령은 다음과 같습니다.

pactl set-sink-mute @[email protected] toggle

LE : 첫 번째 힌트 적용 여부는 실행중인 PulseAudio의 버전 또는 배포판의 다른 요소에 따라 달라질 수 있습니다. 우분투 16에서는 "-"없이 작동하며 "-"를 추가하면 실패합니다. 마이너스 백분율 앞에.

3
Don Joe

사용자가 기기를 음소거 한 경우 '음소거 해제'해야합니다. 그렇지 않으면 백분율을 설정해도 작동하지만 소리는 여전히 꺼져 있습니다

amixer set 'Master' 100% unmute
/usr/bin/amixer set 'PCM' 100% unmute
3
Guest

amixer는 나를 위해 일했지만 키보드의 볼륨 높이기 버튼을 누를 때 얻을 수있는 멋진 애니메이션을 얻지 못했습니다.

xte를 사용하여 명령 행에서 해당 키를 직접 누르기로 결정했습니다.

볼륨 업: xte 'key 0x1008ff13'

볼륨 작게 : xte 'key 0x1008ff11'

음소거: xte 'key 0x1008ff12'

xev를 사용하여 키심 (16 진수)을 알아 냈습니다.

Sudo apt-get install xbindkeys xautomation
xev

그런 다음 키보드의 볼륨 높이기 버튼을 눌러 키 심을 얻습니다. 핵심 sym은 시스템마다 다를 수 있으므로 xev에서 찾는 것이 가장 신뢰할 수있는 방법입니다.

결과는 다음과 같습니다.

KeyRelease 이벤트, 시리얼 37, 합성 NO, 윈도우 0x2c00001, 루트 0xef, subw 0x0, 시간 6660080, (566,573), 루트 : (664,651), 상태 0x0, 키 코드 123 (키 기호 0x1008ff13, XF86AudioRaiseVolume), same_screen YES, XLookupString은 0 바이트를 제공합니다 : XFilterEvent가 다음을 리턴합니다. False

2
Sami Start