시스템의 다른 프로그램에서 참조할 수 있는 동적으로 이름이 지정된 오디오 소스를 만들고 싶습니다. 예를 들어 다음과 같습니다.
gst-launch-1.0 audiotestsrc ! alsapubsink name='Test Source'
그런 다음 다음과 같은 다른 프로그램에서 이를 참조합니다.
gst-launch-1.0 alsasrc device='Test Source' ! ... ! autoaudiosink
물론 요소는 없습니다 alsapubsink
. ALSA나 Pulse 또는 제가 모르는 다른 도구를 사용하여 이런 종류의 작업을 수행할 수 있는 방법이 있습니까?
답변1
Pulseaudio에서: "빈" 수신기 만들기
pacmd load-module module-null-sink sink_name=public-sink-1 sink_properties=device.description=Public-Sink-1
그런 다음 명령줄 옵션이나 응용 프로그램 메뉴 옵션(사용 가능한 경우)을 사용하여 pavucontrol
"참조"하려는 모든 사운드 출력을 이 수신기로 리디렉션합니다.
각 Pulseaudio 싱크에는 관련 .monitor
소스가 있으므로 다른 응용 프로그램은 해당 관련 소스의 오디오를 일반적인 방법(예: 소스 선택 등 pavucontrol
)으로 녹음하거나 처리할 수 있습니다.