我使用的是 Linux,确切地说是 Mint 13 Maya,它基于 Ubuntu Precise。
我想知道是否有任何方法可以静音来自其他虚拟显示器的声音,或者仅播放当前显示器中启动的应用程序的声音,无论哪种方法都有效。
现在,我有时会启动一个 VNC 服务器,在 :1 上创建新的显示,同时仍在 :0 上使用和显示“正常”虚拟显示。但是,如果我启动一个在 :1 上发出声音的应用程序,即使我在当前显示器上看不到该应用程序,我也可以听到它。
例如,如果我启动命令DISPLAY=:1 vlc /path/to/sound.ogg
,即使我只使用和显示 :0 显示,我也可以听到 VLC 的声音。
有什么方法可以阻止这种情况发生,并使来自 :1 启动的应用程序的所有声音静音吗?或者,作为替代方案,有什么方法可以指示pulseaudio总是每次启动时将来自特定应用程序的声音静音,即使该应用程序目前不产生声音,而无需任何用户干预?例如,通过脚本启动应用程序,该脚本将告诉pulseaudio立即将应用程序静音?
编辑:我似乎找到了一个临时解决方案,但可能可以做得更好。通过使用环境变量 启动应用程序PULSE_SERVER=/dev/null
,对 Pulseaudio 的所有调用都会失败,并且不会播放应用程序中的任何音频。
答案1
声音与显示器无关,因此不能通过显示器静音。但您可以通过应用程序静音。一个简单的方法是运行pavucontrol
GUI:它显示打开 PulseAudio 连接的每个应用程序的播放和录音的音量控制。
或者,如果您控制应用程序的启动方式,请告诉它不要联系任何现有的 PulseAudio 服务器。
PULSE_SERVER=none vlc /path/to/sound.ogg