我如何控制 Ubuntu 使用哪个声卡进行播放?

我如何控制 Ubuntu 使用哪个声卡进行播放?

我安装了 Ubuntu 9.04 和 Windows XP 双系统,但我对 Ubuntu 还不熟悉。在 Windows 中,我使用 M-Audio Audiophile 2496 声卡进行录音(因为它有 RCA 输入插孔,可用于我的混音器),但我不使用它进行播放(因为我的扬声器使用 1/8 英寸插孔);相反,我使用主板的内置声卡。

我尝试在 Ubuntu 中重新创建此安排,但尽管在 下选择内置卡进行所有播放System > Preferences > Sound,结果仍然不一致。Rhythmbox 通过集成卡播放,但浏览器中的 Flash 内容和操作系统中的游戏将其音频发送到 Audiophile 卡。

我曾看到过建议使用一个名为“Jack”的程序来控制它,但我安装了它后发现它令人困惑。

除了禁用一张卡外,我如何才能控制使用哪张卡进行播放(正如我在下面发现并解释的那样)?此外,是否有用于禁用硬件的 GUI,还是需要编辑配置文件?

答案1

由于我在启动 Ubuntu 时实际上不需要 PCI 声卡工作,因此我通过禁用它来消除混淆。方法如下:

1) 我打开终端并输入less /proc/asound/modules以获取正在使用的音频驱动程序列表
2) 列出了两个:snd_hda_intel,我认出是内置声卡,snd_ice1712,我猜是 Audiophile 2496
3) 从终端,​​我输入sudo gedit /etc/modprobe.d/blacklist.conf以编辑“黑名单”驱动程序列表,这意味着它们不会在启动时加载。我在文件底部添加了以下几行:

#Disable M-Audio Audiophile 2496
blacklist snd_ice1712

4) 我重新启动了。现在 Audiophile 卡已禁用,所有声音都通过内置卡发出。成功了!

注意:我主要找到了这个解决方案这里,因此感谢 natewiebe13。

答案2

Ubuntu 使用 pulseaudio。有一个命令可以设置声音“pacmd”。您可以列出 pulseaudio 使用的所有源和所有接收器。您可以编写脚本来控制它,更改源或接收器,并在需要时使用其他声卡。

相关内容