我目前正在寻找一些解决方案或建议。我需要播放和控制(是的,这对我来说非常重要)许多流(可能来自一个来源)。例如..我的系统播放一些放松的音乐。有人要拜访我并按响了门铃。所以,那一刻音乐音量从100轻轻降低到30(是的,我不想关掉音乐),然后我想听到叮咚的声音。最后,当我的音乐音量“叮咚”地慢慢调回100时。
目前,我有 MPD + Pulse + CIFS。我知道 Pulse 基本上是一个混合器,理论上,我可以实现我想要的一切,但有人可以建议我该怎么做吗? :)
答案1
您可以通过pacmd
命令行或脚本控制 Pulseaudio 流。用于pacmd list-sink-inputs
查看所有当前运行的输出流,pacmd set-sink-input-volume
以更改音量。pacmd help
获取所有命令的列表。
不确定在脚本中使用循环可以如何顺利地降低音量;如果你想减小音量真的顺利地,您可能必须使用 Pulseaudio API 编写程序。
您可以通过客户端名称或属性来识别流。解析 的输出pacmd
有点痛苦,但通常grep
或awk
会这样做。
您可以播放新的音频流,例如通过paplay
、使用--client-name
和/或--stream-name
来帮助识别流。
显然,您必须自己编写门铃等脚本,该网站不提供脚本编写服务。