여러 USB 헤드폰을 통해 RasPi에서 단일 로컬 오디오 소스를 재생할 수 있어야 합니다. 어떤 헤드폰이 재생되는지(한 번에 1개, 한 번에 2개, ..., 동시에) 독립적으로 제어해야 합니다.
명령 프롬프트를 통해 PulseAudio를 사용하고 있으며 모든 헤드폰에서 동시에 오디오를 재생할 수 있지만 음악이 계속 재생되는 동안 헤드폰을 독립적으로 켜고 끄는 방법을 모르겠습니다. 이것이 가능한지 완전히 확신할 수 없으므로 여기에 질문하는 이유는 다음과 같습니다.
내가 가지고 있는 몇 가지 아이디어는 다음과 같습니다. (A) 각 헤드폰 켜짐/꺼짐 상황에 대한 수신기 그룹을 만들고 다양한 소스 그룹에 대한 입력을 동적으로 변경합니다. (B) 모든 헤드폰에서 동시에 오디오를 재생하지만 볼륨을 0으로 조정하여 수신기가 필요합니다. 기기(헤드폰)가 꺼진 상태
참고: 제가 본 많은 예에는 IP 주소에 연결된 음악 스트리밍을 제어하는 것이 포함되었습니다. 저는 이 작업을 수행하고 싶지 않습니다. 오디오 파일을 RasPi에 로컬로 저장하고 싶습니다.
어떤 도움이라도 대단히 감사하겠습니다. 저는 이것에 대해 매우 새로운 것입니다.
답변1
이 단일 스트림 이외의 헤드폰에 오디오 출력이 없는 경우 module-combine-sink
모든 헤드폰에 대해 콤보 수신기를 설정할 수 있으며 원하는 경우 헤드폰 수신기 자체를 음소거할 수 있습니다.
모든 수신자를 나열합니다.
pacmd 목록 싱크 이름:
결합된 수신기를 만듭니다(물론 예시 이름 대신 필요한 수신기 이름을 사용하세요).
pacmd 로드 모듈 모듈 결합 싱크ink_name=combinedink_properties=device.description="combinedink"slave=alsa_output.usb-first-sink.analog-stereo,alsa_output.usb-second-sink.analog-stereo,...
그런 다음 콤보 수신기에서 스트림을 재생하고 음소거합니다.
pacmd set-sink-mute alsa_output.usb-first-sink.analog-stereo true
또는 음소거 해제
pacmd set-sink-mute alsa_output.usb-first-sink.analog-stereo false
필요에 따라.
만약 있다면예null-sink
다른 오디오 출력의 경우 콤보 수신기와 각 헤드폰 수신기 사이에 변수를 배치할 수 있다고 생각합니다 .