播放和控制多个音频流

播放和控制多个音频流

我目前正在寻找一些解决方案或建议。我需要播放和控制(是的,这对我来说非常重要)许多流(可能来自一个来源)。例如..我的系统播放一些放松的音乐。有人要拜访我并按响了门铃。所以,那一刻音乐音量从100轻轻降低到30(是的,我不想关掉音乐),然后我想听到叮咚的声音。最后,当我的音乐音量“叮咚”地慢慢调回100时。

目前,我有 MPD + Pulse + CIFS。我知道 Pulse 基本上是一个混合器,理论上,我可以实现我想要的一切,但有人可以建议我该怎么做吗? :)

答案1

您可以通过pacmd命令行或脚本控制 Pulseaudio 流。用于pacmd list-sink-inputs查看所有当前运行的输出流,pacmd set-sink-input-volume以更改音量。pacmd help获取所有命令的列表。

不确定在脚本中使用循环可以如何顺利地降低音量;如果你想减小音量真的顺利地,您可能必须使用 Pulseaudio API 编写程序。

您可以通过客户端名称或属性来识别流。解析 的输出pacmd有点痛苦,但通常grepawk会这样做。

您可以播放新的音频流,例如通过paplay、使用--client-name和/或--stream-name来帮助识别流。

显然,您必须自己编写门铃等脚本,该网站不提供脚本编写服务。

相关内容