如何更改用于输入和输出的音频插孔?

我正在使用内置主板的Realtek HD音频卡。 Windows驱动程序附带一个控制面板,允许我选择使用哪些后面板插孔。 因此,例如,我可以将蓝色插孔和绿色插孔用于输出,而只有红色插孔用于麦克风输入。 (默认情况下,蓝色插孔用于输入,我从不需要。)

我怎么能在Linux下做同样的事情? 如果可能的话,请不要提出涉及PulseAudio或JACK的内容; 我想以简单的方式做到这一点,例如通过编辑ALSA配置文件,如果可能的话。 我理解它的方式,我的问题应该与重定向流的软件服务器无关,只是指示驱动程序将这个插孔视为一样,因为它支持硬件。

非常感谢你!

我设法做到了,但重新启动后更改还原。 ( 更新:这可以解决;请参阅本文的底部。)

我是通过名为HDA Analyzer的 python中的GUI完成的,可以从ALSA网站获取和使用,如下所示:

  • wget -O run.py http://www.alsa-project.org/hda-analyzer.py

  • sudo python run.py (他们的页面没有说sudo ,但是如果你不使用sudo ,它会下载脚本但是无法运行它们并抱怨特权。)

现在这将使GUI启动,但它的用法没有解释,并且它不是新手友好的。 所以为了让生活更轻松,我会解释我是如何做到的。 就我而言,只需两次点击; 棘手的部分是确切地找到需要点击的内容。

(注意:您可以逐个浏览所有节点,但不要修改任何您不理解的节点。任何修改(例如勾选复选框)立即生效;没有应用按钮。)

  • 该列表包含许多节点,称为Node[0x##]后跟任何AUD_OUTAUD_INAUD_MIXPINVENDOR 。 你唯一需要注意的是PIN

  • PIN节点有多种类型; 我们想要的类型将使用面板/控制组填充整个窗口(它有助于拉伸或最大化窗口), 如此屏幕截图所示 。 (该网站阻止我插入内嵌图片,抱歉。)

  • 在Config Default字段中,一些节点将在第一行Jack Connection: N/A ; 我们需要那些说Jack Connection: Jack的截图。

  • 要将Line-In更改为输出插孔,请查看直到找到Jack Type: Line In的节点。 (注意Jack Location2: RearJack Color: Blue 。)

  • 然后,在下面Widget控制组的三个复选框中,取消选中IN并选中OUT

  • 使用相同的方法,您可以将任何前置或后置插孔分配给输入或输出。

现在,如果您关闭窗口,它将询问您是否要还原更改。 说是立即恢复它们; 说没有留住他们,但仅限于本次会议。

如果要永久保留更改,请不要关闭HDA Analyzer。 而是单击左下角的“Exp”(导出),然后使用“另存为”将python脚本写入文件。 现在将该文件复制到/etc/hda-mods.py并以root /etc/hda-mods.py编辑/etc/rc.local (例如使用gksudo gedit /etc/rc.local )并添加行python /etc/hda-mods.pyexit 0行之前,然后保存并重新启动。 你的改变应该存在。

另一个gui工具可能是来自alsa-tools-gui包的hdajackretask 。 非常简单的gui,支持启动覆盖和高级选项。

在此处输入图像描述

我希望我没有完全误解这个问题。 OP要求非JACK选项,但我很确定这可能会帮助其他人。 在我的情况下,我必须检查高级覆盖和显示未连接的引脚并将未连接的麦克风输入设置为耳机输出..非常奇怪,但有效。 很想看到一个cmd线解决方案