虚拟ALSA设备,同步/拦截音量命令

虚拟ALSA设备,同步/拦截音量命令

我有一个立体声音响。我喜欢它,因为声音很好,但它的设计不太复杂:

在此输入图像描述

它有一个内部USB卡焊接在一些板上,直接将音频输出到功放。好吧.. USB 卡和功率放大器这两种设备都有自己的音量控制,而且它们(多么聪明)不同步。

我已经破解了遥控器,以便它可以接收音量命令。现在我想实现某种同步以方便起见。我的两个音频源 (shairport-syncspotifyd) 都已经支持控制 ALSA 音量滑块,因此按下智能手机上的音量按钮会将信号转发到 ALSA 设备(您可以使用 进行验证alsamixer)。

我最好的猜测是这样的: 在此输入图像描述

我以前从未使用过 ALSA,我刚刚开始熟悉该架构,但我还没有找到任何解决方案来帮助我在图形中实现这个“前进”箭头。

我可以自己处理同步脚本,但老实说我不知道​​从哪里开始 ALSA 部分。

答案1

Linkplay A31 放大器控制应用程序几乎完全符合您的要求。它监视 ALSA pcm/混音器设备的声音活动和音量变化,并相应地调整(外部)DAC/AMP(包括静音状态)。您可能需要根据您的用例修改串行控制逻辑,但这应该相当容易完成。

还有使用 pactl 脚本的另一个解决方案,但这有些限制,因为它不监视声音活动。

相关内容