![가상 ALSA 장치, 볼륨 동기화/가로채기 명령](https://linux55.com/image/179003/%EA%B0%80%EC%83%81%20ALSA%20%EC%9E%A5%EC%B9%98%2C%20%EB%B3%BC%EB%A5%A8%20%EB%8F%99%EA%B8%B0%ED%99%94%2F%EA%B0%80%EB%A1%9C%EC%B1%84%EA%B8%B0%20%EB%AA%85%EB%A0%B9.png)
나에겐 스테레오가 있다. 소리는 훌륭하지만 디자인이 너무 복잡하지 않아서 마음에 듭니다.
오디오를 앰프로 직접 출력하는 일부 보드에 납땜된 내부 USB 카드가 있습니다. 음.. USB 카드와 전력 증폭기 두 장치 모두 자체 볼륨 조절 장치가 있는데 (얼마나 영리한지) 동기화되지 않습니다.
이미 나는깨진 리모컨, 볼륨 명령을 받을 수 있도록 합니다. 이제 편의를 위해 일종의 동기화를 구현하고 싶습니다. 내 오디오 소스( shairport-sync
및 ) 모두 spotifyd
이미 ALSA 볼륨 슬라이더 제어를 지원하므로 스마트폰의 볼륨 버튼을 누르면 신호가 ALSA 장치로 전달됩니다(ALSA를 사용하여 확인할 수 있음 alsamixer
).
저는 이전에 ALSA를 사용한 적이 없으며 이제 막 아키텍처에 익숙해지기 시작했지만 그래프에서 이 "앞으로" 화살표를 구현하는 데 도움이 되는 솔루션을 찾지 못했습니다.
동기화 스크립트를 직접 처리할 수 있지만 솔직히 ALSA 부분부터 시작해야 할지 모르겠습니다.
답변1
이것Linkplay A31 증폭기 제어 앱당신이 요청한 것과 거의 정확히 일치합니다. ALSA pcm/mixer 장치의 사운드 활동 및 볼륨 변화를 모니터링하고 이에 따라 (외부) DAC/AMP를 조정합니다(음소거 상태 포함). 사용 사례에 따라 직렬 제어 로직을 수정해야 할 수도 있지만 이는 상당히 쉽게 수행할 수 있습니다.
게다가pactl 스크립트를 사용하는 또 다른 솔루션, 그러나 이는 사운드 활동을 모니터링하지 않기 때문에 다소 제한적입니다.