마이크가 여러 개 있을 때 마이크가 음소거되었는지 또는 음소거 해제되었는지 어떻게 알 수 있나요?

마이크가 여러 개 있을 때 마이크가 음소거되었는지 또는 음소거 해제되었는지 어떻게 알 수 있나요?

마이크(예: 마더보드, USB, HDMI)가 여러 개 있는 경우 마이크가 음소거되었는지 어떻게 확인합니까?

1) 다음을 사용하여 찾을 수 없습니다.

$ cat /proc/asound/cards 
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xfe720000 irq 48
 1 [default        ]: USB-Audio - AK5370          
                      AKM              AK5370           at usb-0000:00:1a.0-1.1, full s

2) 이것도 마찬가지다

$ amixer -D 'hw:0' | grep Capture
  Capture channels: Front Left - Front Right
Simple mixer control 'Capture',0
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 46
  Front Left: Capture 22 [48%] [6.00dB] [on]
  Front Right: Capture 22 [48%] [6.00dB] [on]
Simple mixer control 'Capture',1
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 46
  Front Left: Capture 42 [91%] [26.00dB] [on]
  Front Right: Capture 42 [91%] [26.00dB] [on]
  Capture channels: Front Left - Front Right

$ amixer -D 'hw:1' | grep Capture
  Capture channels: Mono
  Limits: Capture 0 - 78
  Mono: Capture 70 [90%] [12.00dB] [off]

3) 다음과 같은 경우도 마찬가지입니다.

$ pactl list | sed -n '/^Source/,/^$/p' | grep Mute
    Mute: yes
    Mute: no
    Mute: no

$ amixer scontrols
Simple mixer control 'Master',0
Simple mixer control 'Capture',0

형식 쿼리를 기반으로 내 bash(또는 다른) 스크립트가 값을 읽도록 하려면 어떻게 해야 합니까 ?hw:value,value

답변1

alsa-utils 패키지에 있는 alsamixer를 사용해 볼 수 있습니다. 그것은 멋진 ncurses 유형 GUI를 가지고 있습니다.

답변2

출력 amixer -D 'hw:1'은 실제로 마지막 줄에 마이크 상태를 표시합니다. 스크립트에서 해당 콘텐츠를 추출하는 한 가지 방법은 다음과 같습니다 bash.

amixer -D "hw:1" sget Mic | awk -F "[\[\]]" '/\[on|off\]/{ print $6 }'

amixer를 사용하여 -D장치를 지정하고 쿼리할 장치를 sget지정합니다 . simple control저에게는 컨트롤이 간단 Mic하지만 여러분에게는 다를 수 있습니다. 이를 사용하여 amixer -D "hw:1"알아보세요.

amixer이 접근 방식 은 출력이 너무 많이 변경되지 않는 한 작동합니다. 그것이 하는 일은:

  1. amixer의 출력을 파이프로 연결합니다 awk.
  2. [on]또는 을 포함하지 않는 행을 필터링합니다 [off]. 그래서 우리는 한 줄로 끝납니다Mono: Capture 70 [90%] [12.00dB] [off]
  3. 행의 여섯 번째 필드를 추출하여 인쇄합니다. 필드 구분 기호는 [또는 ]로 설정되어 스위치 상태 문자열("on" 또는 "off")을 얻습니다.

amixer물론 이것이 가장 우아한 해결책은 아니지만 출력을 보다 구조화된 방식으로 생성하도록 하는 방법을 찾지 못했습니다 .

관련 정보