모든 ALSA 장치 나열

모든 ALSA 장치 나열

내 시스템에서 PulseAudio를 사용하고 있으며 추가 지침을 따랐습니다.모니터 장치PulseAudio 위키에 따르면. 모니터 장치 자체는 Audacity와 같은 앱에서 제대로 작동하고 등록/기능하지만 명령줄 도구를 통해 장치가 표시되도록 할 수는 없습니다. aplay -LAudacity와 거의 동일한 목록을 반환하지만 편리하게도 모니터 장치가 없습니다.

내 최종 목표는 Java 앱의 출력을 구문 분석하고 결국 FFmpeg에 전달하는 것입니다. 2개의 일반 "캡처 소스 포트"가 표시되므로 Java 오디오 API를 통해 장치가 존재한다는 것을 알 수 있지만 장치 이름은 제공하지 않으며 목표는 장치를 사용자가 선택할 수 있도록 하는 것입니다. 다소 친근한 태도.

명령줄 앱이나 Java API/라이브러리를 통해 모니터 장치를 표시할 수 있는 방법이 있습니까?

미리 감사드립니다!

답변1

PulseAudio 장치를 표시하려면 pacmd list-sources또는 명령을 사용하십시오 . pactl list이름만 표시하려면 출력을 grep하면 됩니다. 이것은 다음의 예입니다.펄스오디오 FAQ

$ LANG=C pactl list | grep -A2 'Source #' | grep 'Name: ' | cut -d" " -f2

".monitor"에 대한 추가 grep을 사용하면 모니터 장치만 얻을 수 있습니다.

답변2

즉, 문제는 펄스오디오 수준이 아닌 alsa 수준에서 발생한 것 같습니다. alsa 장치를 보고 싶다면 시도해 보세요.

aplay -l

(그러나 이미 언급한 aplay -L도 비슷합니다).

pulseaudio는 alsa 위에 위치합니다. 따라서 pactl을 살펴보면 또 다른 소프트웨어 계층이 나타납니다. 여기 Troubleshooters.com/linux/sound/sound_troubleshooting.htm을 참조하세요. alsa가 사운드 장치를 볼 수 없다면 pulseaudio도 볼 수 없겠죠?

답변3

잔인할 정도로 간단합니다.

싱크/출력 포트가 표시됩니다.

aplay -L

'모니터'는 소스/입력 포트이므로 다음이 필요합니다.

arecord -L

업데이트: aplay와 arecord는 'alsa-utils' 패키지에 있습니다. 설치하기 위해서:

sudo apt install alsa-utils

관련 정보