我的房间里有一台 Raspberry Pi(名为 Igor),它可以播放音乐,偶尔还会发出警告信息。如果我想改变它的音量或将其静音,我需要从我的笔记本电脑 ssh 进入它并启动alsamixer
。这有点麻烦,我想使用一些键盘快捷键或屏幕控制来改变 Igor 的音量。
我想我可以在 RPi 上搭建一个小型服务器,监听网络消息并相应地调整音量。我可以从我的笔记本电脑上设置键盘快捷键,执行类似以下操作
echo "+10%" | nc igor $portnumber
音量增加 10%,"-10%"
音量减小 10%。也就是说,创建自己的 API。但难道没有可以做到这一点的东西吗?ALSA 有网络访问 API 吗?或者 PulseAudio 有吗?
需要说明的是,我不想将音乐本身传输到 RPi。Igor 有自己的音乐来源。
答案1
ssh
@CL. 给了我通过键盘快捷键触发运行单个命令的想法。
在 RPi 上,我有一个softer.sh
如下脚本:
#!/bin/bash
# Turn the volume down 10%
amixer -c0 set PCM -- $[$(amixer -c0 get PCM|grep -o [0-9]*%|sed 's/%//')-10]% > /dev/null 2>&1
这get
是 amixer 的当前音量(百分比),减去 10,将“%”符号粘贴到末尾,并将set
音量添加到结果中。同样,louder.sh
加上 10%。
在我的笔记本电脑上,我设置CTRL+F7来执行:
ssh pi@igor softer.sh
当然CTRL还有F8
ssh pi@igor louder.sh