仮想ALSAデバイス、ボリューム同期/インターセプトコマンド

仮想ALSAデバイス、ボリューム同期/インターセプトコマンド

私にはステレオがあります。音は素晴らしいですが、デザインがあまりにも複雑ではなく、気に入っています。

ここに画像の説明を入力してください。

オーディオをアンプに直接出力する一部のボードにはんだ付けされた内蔵USBカードがあります。まあ、USBカードとパワーアンプの両方のデバイスには、独自の音量調整デバイスがあります(同期していないか)。

すでに私壊れたリモコン、ボリュームコマンドを受信できるようにします。今、便宜のために、ある種の同期を実装したいと思います。私のオーディオソース(shairport-syncおよび)はすでにspotifydALSAボリュームスライダーコントロールをサポートしているため、スマートフォンの音量ボタンを押すと信号がALSAデバイスに転送されます(ALSAを使用して確認できますalsamixer)。

私の推測は次のとおりです。 ここに画像の説明を入力してください。

私は以前ALSAを使用したことがなく、今のアーキテクチャに慣れ始めましたが、グラフ内でこの「進む」矢印を実装するのに役立つソリューションを見つけることができませんでした。

同期スクリプトを直接処理できますが、正直なところ、ALSA部分から始めるべきかどうかわかりません。

答え1

これLinkplay A31アンプ制御アプリあなたが要求したものとほぼ正確に一致します。 ALSA pcm / mixerデバイスのサウンドアクティビティと音量の変化を監視し、それに応じて(外部)DAC / AMPを調整します(ミュート状態を含む)。ユースケースに応じてシリアル制御ロジックを変更する必要があるかもしれませんが、これはかなり簡単です。

しかもpactlスクリプトを使用する別のソリューションしかし、これはサウンドアクティビティを監視しないため、やや制限的です。

関連情報