나는 노트북의 오디오 설정을 자주 변경합니다(때때로 내장 잭 포트를 사용하거나, 때로는 아무 것도 사용하지 않거나, 때로는 USB 헤드폰을 사용하거나, 때로는 노트북 도킹 스테이션의 잭 포트를 사용함). 키보드 단축키를 사용하여 볼륨을 높이거나 낮추고 싶습니다.모든 출력에 대해 한 번이므로 현재 활성화된 오디오 출력에 관계없이 작동합니다. 이것을 달성하는 가장 쉬운 방법은 무엇입니까? 나는 또한 pavucontrol에서 100%를 초과할 수 있다는 것을 보았으며 이는 때때로 유용하므로 명령에서도 그렇게 할 수 있다면 좋을 것입니다.
저는 데비안 테스트, 커널 4.9.0-3-amd64 및 pulseaudio 10.0을 실행하고 있습니다.
답변1
이를 위해서는 스크립트가 필요합니다. 비슷한 스크립트가 있습니다이것기본 수신기를 제어하지만 모든 수신기를 제어하는 수신기는 본 적이 없습니다.
사용 중인 모든 수신기 목록을 가져오고 pacmd list-sinks
볼륨을 설정할 수 pacmd set-sink-volume
있으므로 다음과 같은 작업을 수행해야 합니다.
VOLUME='+5%'
for SINK in $(pacmd list-sinks | grep 'index:' | cut -b12-)
do
pactl set-sink-volume $SINK $VOLUME
done
$VOLUME
절대값( 150%
), 상대값( +5%
, -5%
) 또는 기타 형식 일 수 있습니다.
대부분의 창 관리자는 키를 누를 때 매개변수가 있는 스크립트나 프로그램을 시작하도록 구성할 수 있습니다. 이것이 가장 좋은 방법이지만 WM에 없는 경우 다음과 같은 것을 사용할 수 있습니다 xbindkeys
. 따라서 원하는 방식으로 사용자 정의할 수 있습니다.
수신기 볼륨이 100%를 초과하면 Pulseaudio는 하드웨어 믹서를 사용하기 시작하므로 사운드가 왜곡될 수 있습니다.
또한 Pulseaudio를 사용하면 애플리케이션당 볼륨("오디오 스트림")을 설정할 수 있습니다 pacmd set-sink-input-volume
. 이를 나열 pacmd list-sink-inputs
하고 유사하게 설정할 수 있습니다.
이를 통해 하드웨어 믹서를 사용하지 않고도 탱크 볼륨을 고정된 수준으로 유지할 수 있으며, 탱크를 전환하면 자동으로 "올바른" 볼륨을 갖게 됩니다. 이것이 제가 선호하는 설정입니다.