사용 중인 장치에서 오디오 정보를 가져오고 음소거되었는지 확인하는 안정적인 방법이 필요합니다. 오디오를 재생하는 장치여야 합니다.
신뢰할 수 있다는 것은 오디오 드라이버가 독립적이라는 것을 의미합니다. 나는 amixer로 다양한 것을 시도했지만 여러 장치에서 작동하도록 하려면 항상 명령을 변경해야 했습니다.
다음은 마스터 장치가 음소거되었는지 여부를 출력하는 예입니다 on
.off
awk -F"[][]" '/dB/ { print $6 }' <(amixer sget Master)
문제는 이것이 내 노트북에서는 작동하지만 USB 헤드폰과 함께 pulseaudio를 사용하는 기본 PC에서는 작동하지 않는다는 것입니다. 여기서 약간 수정된 코드를 사용해야 합니다.
awk -F"[][]" '/dB/ { print $6 }' <(amixer sget -c 1 PCM)
사용 중인 사운드 카드뿐만 아니라 장치 이름(?)(마스터 대신 PCM이라고 함)도 지정해야 하는데 출력이 완전히 다르지 않기 때문에 이제는 완전히 다른 형식 옵션을 사용해야 합니다.
이제 사용 중인 오디오 장치에 대한 정보를 얻을 수 있는 더 좋고 더 안정적인 방법이 있습니까?