如何排除某些设备被 PulseAudio 抓取?

如何排除某些设备被 PulseAudio 抓取?

长话短说:我有一个在 Wine 中运行应用程序的特殊情况。问题是,当此设备被 PulseAudio 抓取时,此应用程序看不到我的声音输入设备。不幸的是,在 Pulse Audio Control 中将此设备的配置文件设置为“关闭”无法正常工作,设备仍然以某种方式被抓取。我通过杀死 pulseaudio 守护进程证明了这一点 - 然后应用程序可以看到我的录音设备。但问题是我必须同时为 OUTPUT 设备启用 PulseAudio,否则我无法听到此应用程序输出的声音。

所以问题是:如何配置脉冲音频(或录音设备),使其不会被脉冲音频“看到”?我正在使用 ubuntu 14.04

编辑:我发现了这个:https://jamielinux.com/blog/tell-pulseaudio-to-ignore-a-usb-device-using-udev/

设备从 pulseaudio 面板上消失,但 pulseaudio 仍然以某种方式阻止应用程序使用我的录音设备。

答案1

改编自:https://ubuntuforums.org/showthread.php?t=1551820&page=2. 在 Ubuntu 20.04 中对我有用

如果您没有安装 PulseAudio 音量控制:

sudo apt install pavucontrol

pavucontrol然后在终端或通过桌面运行。

  • 首先选择“输出设备”选项卡,并确保右下角的下拉菜单设置为“所有输出设备”。
  • 然后选择“配置”选项卡。
  • 找到您希望 Pulse 忽略的设备并选择离开在个人资料下拉菜单中。

在 Ubuntu 20.04 中,我仍然在声音选项中看到该设备,但它确实似乎可以与 Alsa 一起使用。就我而言,该设备是连接到我的高保真放大器的 USB DAC。我打算在该输出上设置 MPD,但还没有做到那一步。我确实使用 VLC 进行了测试,方法是将其音频配置更改为 ALSA 并选择原始“硬件”设备。

此配置文件设置似乎在重新启动后仍会被记住。我尚未测试断开并重新连接 USB 设备,但参考的论坛帖子表明它应该有效:

... 通过遵循上述说明,我可以通过在 pavucontrol 中将其设置为“关闭”来忽略特定的驱动程序 - 证明是我可以多次 insmod/rmmod 该驱动程序而无需 pulseaudio 对其进行锁定 - 即使 pulseaudio 识别出该驱动程序已加载(并且确实在 pavucontrol 中显示它)。

答案2

正如已经说过的,您需要安装 pavucontrol(脉冲音频控制)。

  1. 打开 pavucontrol,通过选择Super+“脉冲音频”。

  2. 转到配置选项卡。

  3. 对于您想要保持关闭的设备,选择“关闭”或“禁用”配置文件。

  4. 然后点击右侧的“锁”图标。这将保留该设备选定的配置文件,无论您断开连接然后重新连接。

如下图所示:

PavuControl 接口示例

相关内容