我对 Ubuntu 还很陌生,但决定尝试一下当前的 Windows 10 安装。一切都在运行,只是发现,除了声音。
问题: - 系统似乎无法将我的耳机和扬声器识别为两个独立的设备,即使它们已插入各自的插孔输入。(这在 Windows 上不是问题)。我的机柜顶部前面有一个插孔输入,背面有一个直接输入(内置声卡)。我尝试过:
此外:
目前,我只插入了耳机,但似乎每当我将它们都插入时(这是我想要的用例),alsa 就会自动将我的耳机静音。
另外,据我所见,系统声音设置仅识别一个模拟输入和一个数字输入(我不使用数字输入)。所以,我的猜测是我的两个模拟端口(物理上)被认为是同一件事,但不确定如何解决这个问题。
截图:
硬件信息:
我真的希望你能帮助我!我非常感谢所提供的任何帮助!
如果我遗漏了任何重要信息,请告诉我!
编辑:
根据 @Qumber Rizvi 的建议,我尝试安装 Pavucontrol。这并没有解决问题,但这是我学到的:
在 Pavucontrol 中,我可以在“模拟内置模拟输出”下的两个不同输出(“线路输出”和“耳机”)之间进行更改。如果我选择“线路输出”,则只有我的扬声器在播放。如果我选择“耳机”,我的扬声器和耳机都会播放吗?
我的扬声器和耳机同时播放声音,我刚刚使用WinEunuuchs2Unix和notorious.dds的答案解决了这个问题。您可能想阅读这些帖子以获取更完整的信息。
下面的指令将在 Ubuntu 18.04 声音设置(音量设置)中将线路输出和耳机(我的实际上是带麦克风的耳机)分开。您可以通过在“声音设置”中单击输出设备来交换输出设备,并单独设置每个设备的音量。
请注意,此修复可能会被pulseaudio 软件更新覆盖,在这种情况下,您可能必须重复以下过程。
确定您的 ALSA 输出文件
断开耳机并在声音设置中选择扬声器作为输出。
打开终端 ( Ctrl++ Alt)T并输入pactl list | grep 'Active Port.*output.*'。记下活动端口。我的是analog-output-lineout这样的,所以我将analog-output-lineout.conf在下面的说明中将其用作我的 ALSA 扬声器输出文件。
连接耳机并在声音设置中选择它们作为输出。
再次键入pactl list | grep 'Active Port.*output.*'并记下活动端口。我的是analog-output-headphones这样的,所以我将使用analog-output-headphones.conf以下说明作为我的 ALSA 麦克风输出文件。
编辑扬声器的 ALSA 输出文件
通过键入更改到 ALSA 混音器路径文件目录cd /usr/share/pulseaudio/alsa-mixer/paths/
通过键入备份扬声器输出文件sudo cp ./analog-output-lineout.conf analog-output-lineout.conf.bak
通过键入编辑该文件gedit admin:///usr/share/pulseaudio/alsa-mixer/paths/analog-output-lineout.conf
找到[Jack Headphone]或[Jack Front Headphone]行,具体取决于您的耳机插孔所在的位置,它应该如下所示:
[Jack Headphone]
state.plugged = no
state.unplugged = unknown
Run Code Online (Sandbox Code Playgroud)更改state.plugged = no为state.plugged = yes告诉pulseaudio耳机始终处于插入状态。
将此代码添加到文件末尾(但在任何.include行之前),以为扬声器创建音量滑块。然后保存并关闭编辑器。
[Element Line Out]
switch = mute
volume = merge
Run Code Online (Sandbox Code Playgroud)编辑耳机的 ALSA 输出文件
通过键入备份耳机输出文件sudo cp ./analog-output-headphones.conf analog-output-headphones.conf.bak
通过键入编辑该文件gedit admin:///usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf
将此代码添加到文件末尾(但在任何.include行之前),以便在选择耳机时使扬声器静音。然后保存并关闭编辑器。
[Element Line Out]
switch = off
volume = off
Run Code Online (Sandbox Code Playgroud)第一次尝试时跳过此步骤并完成以下步骤。如果选择耳机时扬声器声音没有关闭,可能是因为声音正在通过 Front 元素重定向。找到该[Element Front]行并将其修改为:
[Element Front]
switch = off
volume = off
Run Code Online (Sandbox Code Playgroud)编辑 alsamixer 中禁用自动静音
alsamixerAuto-Mute并禁用向下箭头alsactl store重新启动 Pulseaudit
pulseaudio -k && pulseaudio --start您现在应该在声音设置中看到扬声器和耳机的单独选项。