Alsa 混音器用于将特定应用程序分配给特定声卡?

Alsa 混音器用于将特定应用程序分配给特定声卡?

我正在寻找 Xfce 的 Alsa 混音器 GUI(或者更好的是,独立于桌面)来替代 PulseAudio Mixer。虽然我对后者很满意,但 PulseAudio 对我的 USB DAC 的处理非常糟糕,我需要将其删除。

在基于 Alsa 的混音器中,我特别寻找以下功能:

  • 检测插入的 USB DAC
  • 为新程序设置默认播放设备(例如USB DAC
  • (可选)透明地将当前正在输出声音的正在运行的程序从一个播放设备更改为另一个播放设备(例如从集成HDA PCHUSB DAC

那么有没有pavucontrol类似 Alsa 的混合器呢?

答案1

正如评论中提到的,Alsa 似乎无法透明地将正在运行的程序从一个播放设备更改为另一个播放设备,因为这是 PulseAudio 特有的功能。此外,在 Alsa 混音器中选择设备只会定义显示哪些混音器控件搅拌机内,并且与媒体播放器使用的默认声卡无关。

有一个简约的 python GUI,允许检测插入的 USB DAC 并为新程序设置默认播放设备:(asouncdconf-gtk最初是为 Ubuntu 编写的,考虑到了 Xfce)。该实用程序依赖于声音会议蟒蛇脚本。即使多年来没有维护(最后一次更新是在 2011 年),它似乎仍然可以在现代发行版(例如 Ubuntu 14.04)上正常工作。

在此输入图像描述

Ubuntu 用户可以从以下位置安装软件包asoundconf PPA(Ubuntu 官方仅对 PulseAudio 有不错的支持)。对于 Arch Linux 参见有没有简单的方法可以切换播放声卡?。但由于它是 Python 代码,因此它几乎可以在任何发行版上运行:获取 Ubuntu .deb,使用存档管理器将其解压,然后将脚本放入/usr/bin.


Alsa的官方文档仅表明手动设置默认声卡的方法:

找到相关卡:

cat /proc/asound/cards

然后输入/etc/asound.conf

defaults.pcm.card 1
defaults.ctl.card 1

将“1”替换为相关卡的号码。这几乎不是您想要经常做的事情,例如使用 USB DAC。


补充阅读:

  • Ubuntu 10.10 的 Asoundconf (Maverick)有关 Ubuntu 发行版上仅使用 Alsa 与 PulseAudio 的详细讨论
  • alsa-utils 缺少 aoundconf-- Ubuntu 开发者宣布他们不会为仅使用 Alsa 的用户修复此问题(即强制用户使用 PulseAudio;似乎是公司的事情,因为 Skype 在 4.3 版本中也做了同样的事情...)

答案2

您可以用于pavucontrol设置默认(和后备)音频输出设备。但这需要pulseaudio(pulse被开发的原因之一)。

相关内容