볼륨을 조정하는 일관된 쉘 명령이 있습니까?

볼륨을 조정하는 일관된 쉘 명령이 있습니까?

나는 내 노트북의 볼륨을 조정하기 위해 일관된 쉘 명령을 찾으려고 노력해 왔습니다. 시도해 볼 것을 제안합니다(음소거/음소거 해제):

 pactl set-sink-mute 0 toggle

작동하지 않습니다. 오류가 발생합니다.

Failed to get sink information: No such entity

더 자세히 살펴본 후 명령을 변경하면 0효과가 있다는 것을 알았습니다. 1나는 이것이 시작 시 pactl이 내 사운드 카드에 번호를 할당했고 랩톱을 다시 시작했을 때 그 번호가 변경되었기 때문이라고 생각합니다.

정상적으로 작동하지만 랩톱을 다시 시작하면 오디오 키가 더 이상 작동하지 않습니다. 셸에서 작업 명령을 시도했는데 "해당 엔터티 없음" 오류가 다시 발생했습니다. 1다시 변경하면 0(즉, 원래 명령) 다시 작동합니다.

사운드 카드가 하나만 있는 것 같아서 혼란스럽습니다. 어쨌든 카드에 할당된 번호가 일치하지 않는 경우 카드를 참조하고 볼륨을 조정하는 일관된 방법이 있습니까?

답변1

노트북에는 사운드 카드가 하나만 있을 수 있지만 오디오 재생을 위해 여러 개의 Pulseaudio 수신기가 있을 수 있습니다.

사용 가능한 수신기 목록을 보려면 다음을 수행하세요.

pactl list short sinks

수신기 인덱스 번호는 부팅 중에 할당되며, 수신기 순서는 부팅 간에 바뀔 수 있습니다. mute 명령이 올바른 수신기에서 작동하는지 확인하려면 색인 번호 대신 기호 이름을 사용하십시오.

예를 들어:

내 시스템의 수신기는 다음과 같이 나열됩니다.

$ pactl list short sinks
0       alsa_output.pci-0000_00_1b.0.analog-stereo      module-alsa-card.c      s16le 2ch 44100Hz       RUNNING
1       alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1 module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED

이 장치는 RUNNING음소거할 장치입니다.

symbolic name = alsa_output.pci-0000_00_1b.0.analog-stereo

따라서 이 장치의 음소거 상태를 전환하는 명령은 다음과 같습니다.

$ pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo toggle

답변2

오디오 드라이버를 다시 시작하는 것이 도움이 되었습니다.

pulseaudio -k && sudo alsa force-reload

그 후 pact... 명령이 오류 없이 작동했습니다.

pactl -- set-sink-volume 0 125%

답변3

이 두 가지는 나를 위해 일했습니다.

1: xdotool을 사용하세요

$ xdotool key XF86AudioLowerVolume #decrease volume
$ xdotool key XF86AudioRaiseVolume #increase volume

2: 이것을 사용하여 오디오 장치의 색인을 봅니다.

$ pacmd list-sinks | grep -e 'name:' -e 'index:'
  index: 1
  name: <alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_5__sink>
  index: 2
  name: <alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink>
  index: 3
  name: <alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_3__sink>
* index: 4
  name: <alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink>

그 앞에 index: 4별표가 있습니다 . 나에게 필요한 장비는 다음과 같습니다.

$ pactl set-sink-volume 4 +10%
$ pactl set-sink-volume 4 -10%

관련 정보