표준 데스크탑 컴퓨터를 생각해 보십시오. 한 쌍의 스피커는 일반 3.5mm 스테레오 잭(AUX)을 통해 이 컴퓨터에 연결됩니다. 여태까지는 그런대로 잘됐다.
이제 스트림 수신을 지원하는 스피커가 건물의 다른 방에 있습니다 UPnP
.
클래식 스테레오 잭에서 사운드를 계속하도록 Debian 기반 시스템을 구성하는 방법하지만 스트리밍도 가능해요 UPnP
, 그러면 두 스피커에 동시에 전원을 공급할 수 있나요?
답변1
전문가가 올바르게 수행하는 방법을 알려줄 때까지 제가 사용했던 해킹된 해결 방법을 게시할 예정입니다. :) 공정한 경고입니다. 제가 가진 것의 대부분은 열심히 일하는 화물 숭배에서 나온 것이므로 따르지 않을 가능성이 높습니다. 모범 사례를 따르며 이 문서를 올바른 용어에 대한 가이드로 의존하지 마세요. 내 사용 사례는 시스템 오디오 공유를 허용하지 않는 MS Teams용 솔루션을 찾아야 한다는 것입니다. 현재 설정에 대해 설명하겠습니다.
펄스 오디오가 있고 설정에서 UPnP 지원 스피커를 출력 장치로 찾을 수 있다고 가정합니다. 유일한 문제는 오디오를 두 개의 다른 장소로 보내는 것입니다. 그렇지 않은 경우 아래 답변이 도움이 되지 않을 수 있습니다.
다음 명령을 사용하여 가상 장치를 만들 수 있습니다.
pactl load-module module-null-sink sink_name=myduplexsink
이렇게 하면 오디오를 가져오고 내보낼 수 있는 상자처럼 작동하는 빈 수신기가 생성됩니다. 수신자 이름은 몇 가지 사항을 설정하여 프로그래밍 방식으로 설정을 유지하는 데 사용될 수 있지만 ~/.pulse/default.pa
내 것은 충분히 신뢰할 수 없으며 아직 이를 자동화하지 못했습니다.
또한 장치를 연결하는 가상 케이블처럼 작동하는 두 개의 루프백이 필요하다고 생각합니다.
pactl load-module module-loopback
pactl load-module module-loopback
루프백에는 이름을 지정할 수 없습니다. 이를 자동화하려면 루프백을 생성할 때 소스와 싱크를 지정해야 합니다.
이제 대화형 솔루션을 위해 pavucontrol
향상된 펄스 오디오 구성 패널을 (설치하고) 엽니다. 여기에는 5개의 탭이 있습니다:
- 재생: 두 곳에서 공유하고 싶은 사운드를 생성하는 프로그램이 여기에 표시됩니다. 내 사용 사례에서는
mplayer
오디오를 널 수신기(마이크 출력과 함께) 및 헤드폰으로 보내고 싶습니다. 이는 또한 생성한 각 루프백에 대한 수신자를 지정하는 탭이기도 합니다. - 녹음: 오디오 입력이 필요한 프로그램이 들어오는 곳입니다. 내 사용 사례에서는 MS Teams였지만 귀하의 사용 사례에서는 그렇지 않다고 생각합니다. 하지만 이 탭에서는 각 루프백의 소스도 구성합니다.
- 출력 장치: 여기에 스피커(모두 스피커이기를 바랍니다)와 Null 출력이라는 빈 수신기가 표시됩니다.
- 입력 장치: 여기에는 마이크(있는 경우)와 각 "모니터" 장치가 표시됩니다. 각 출력 장치에는 입력으로 사용할 수 있는 "모니터"가 있습니다. 스피커가 음악을 재생하는 경우 스피커의 모니터는 음악을 오디오 신호로 전송합니다.
- 구성: 지금은 무시해야 합니다. :P
그래서 내 생각에 당신이 해야 할 일은:
- 오디오를 제공하는 프로그램(예: 음악 소프트웨어)을 시작합니다. 재생 탭에서 해당 쇼에 해당하는 라인을 찾아
pavucontrol
빈 출력으로 보냅니다. 이제 분할하려는 오디오가 포함된 가상 장치(빈 수신기)가 생겼습니다. - 스피커를 사용하기 위해 재생 탭에서 하나의 루프백을 설정하고(노트북에 표시된 경우 "내장 아날로그 스테레오"라고 함) UPnP 스피커를 수신기로 사용하기 위해 또 다른 루프백을 설정합니다.
- 녹음 탭에서 두 루프백의 소스를 빈 출력 모니터로 설정합니다.
이제 입력 오디오를 널 수신기에 공급하고 이를 로컬 스피커와 UPnP 스피커 모두로 향하게 했습니다. 이것이 당신에게 필요한 것이기를 바랍니다.
나는 그것을 기반으로 대부분을 함께 해킹했습니다.이 게시물. 작업 구성을 수동으로 설정한 후에는 pacmd info
사용하려는 오디오 장치의 이름을 사용하고 찾아낼 수 있다는 점을 간략하게 언급합니다. 이렇게 하면 몇 가지 명령을 추가하여 pulseaudio가 시작될 때 구성을 자동으로 다시 생성할 수 있습니다 ~/.pulse/default.pa
. 아직 이 작업을 수행하지는 못했는데 대부분 상황에 따라 여러 장치 이름으로 인식될 수 있는 이상한 헤드폰 세트가 있기 때문입니다. 이것은 당신에게 문제가 되지 않을 수도 있습니다. 따라서 이 경우 새 줄은 ~/.pulse/default.pa
다음과 같습니다.
load-module module-null-sink sink_name=myduplexsink
load-module module-loopback source=myduplexsink.monitor sink=<device ID of your local speakers>
load-module module-loopback source=myduplexsink.monitor sink=<device ID of your UPnP speakers>
pacmd info
장치 ID는 "[n]개의 사용 가능한 수신기" 아래 출력에 나열될 수 있습니다. 귀하의 경우에는 n
적어도 3개(스피커 2개 및 )가 있을 수 있습니다 myduplexsink
. 또한 출력 상단에 "기본 수신기 이름"이 표시되는데, 이는 아마도 로컬 스피커에 해당할 것입니다. 오디오 제공 소프트웨어를 "null 출력"으로 수동으로 지정해야 할 수도 있습니다 pavucontrol
.
UPnP 스피커가 녹음 탭에 표시된 일부 프로그램을 통해 공급되는 경우 훨씬 더 쉽습니다 pavucontrol
. "빈 출력 모니터"에서 오디오를 가져오도록 직접 지시할 수 있으며 이를 공급하기 위해 루프백만 필요합니다. 로컬 스피커는 같은 신호.