[Ubuntu 18.04] 中未单独检测耳机和扬声器?

Lee*_*ers 5 sound 18.04

我对 Ubuntu 还很陌生,但决定尝试一下当前的 Windows 10 安装。一切都在运行,只是发现,除了声音。

问题: - 系统似乎无法将我的耳机和扬声器识别为两个独立的设备,即使它们已插入各自的插孔输入。(这在 Windows 上不是问题)。我的机柜顶部前面有一个插孔输入,背面有一个直接输入(内置声卡)。我尝试过:

  • 重新启动。
  • 拔掉插孔。
  • 调节音量,也在 Alsamixer 中。
  • 重新启动 Alsamixer。
  • 添加带有 paprefs 的半化设备
  • 重新安装 Alsa 和 Pulseaudio

此外:

目前,我只插入了耳机,但似乎每当我将它们都插入时(这是我想要的用例),alsa 就会自动将我的耳机静音。

另外,据我所见,系统声音设置仅识别一个模拟输入和一个数字输入(我不使用数字输入)。所以,我的猜测是我的两个模拟端口(物理上)被认为是同一件事,但不确定如何解决这个问题。

截图:

阿尔萨混合器

声音设置

硬件信息:

PCI 和 USB

输入设备

DMI

我真的希望你能帮助我!我非常感谢所提供的任何帮助!

如果我遗漏了任何重要信息,请告诉我!

编辑:

根据 @Qumber Rizvi 的建议,我尝试安装 Pavucontrol。这并没有解决问题,但这是我学到的:

在 Pavucontrol 中,我可以在“模拟内置模拟输出”下的两个不同输出(“线路输出”和“耳机”)之间进行更改。如果我选择“线路输出”,则只有我的扬声器在播放。如果我选择“耳机”,我的扬声器和耳机都会播放吗?

Pavucontrol 截图

Jay*_*Din 1

我的扬声器和耳机同时播放声音,我刚刚使用WinEunuuchs2Unixnotorious.dds的答案解决了这个问题。您可能想阅读这些帖子以获取更完整的信息。

下面的指令将在 Ubuntu 18.04 声音设置(音量设置)中将线路输出耳机(我的实际上是带麦克风的耳机)分开。您可以通过在“声音设置”中单击输出设备来交换输出设备,并单独设置每个设备的音量。

Ubuntu 18.04 声音设置

请注意,此修复可能会被pulseaudio 软件更新覆盖,在这种情况下,您可能必须重复以下过程。

确定您的 ALSA 输出文件

  1. 断开耳机并在声音设置中选择扬声器作为输出。

  2. 打开终端 ( Ctrl++ Alt)T并输入pactl list | grep 'Active Port.*output.*'。记下活动端口。我的是analog-output-lineout这样的,所以我将analog-output-lineout.conf在下面的说明中将其用作我的 ALSA 扬声器输出文件。

  3. 连接耳机并在声音设置中选择它们作为输出。

  4. 再次键入pactl list | grep 'Active Port.*output.*'并记下活动端口。我的是analog-output-headphones这样的,所以我将使用analog-output-headphones.conf以下说明作为我的 ALSA 麦克风输出文件。


编辑扬声器的 ALSA 输出文件

  1. 通过键入更改到 ALSA 混音器路径文件目录cd /usr/share/pulseaudio/alsa-mixer/paths/

  2. 通过键入备份扬声器输出文件sudo cp ./analog-output-lineout.conf analog-output-lineout.conf.bak

  3. 通过键入编辑该文件gedit admin:///usr/share/pulseaudio/alsa-mixer/paths/analog-output-lineout.conf

  4. 找到[Jack Headphone][Jack Front Headphone]行,具体取决于您的耳机插孔所在的位置,它应该如下所示:

    [Jack Headphone]
    state.plugged = no
    state.unplugged = unknown
    
    Run Code Online (Sandbox Code Playgroud)
  5. 更改state.plugged = nostate.plugged = yes告诉pulseaudio耳机始终处于插入状态。

  6. 将此代码添加到文件末尾(但在任何.include行之前),以为扬声器创建音量滑块。然后保存并关闭编辑器。

    [Element Line Out]
    switch = mute
    volume = merge
    
    Run Code Online (Sandbox Code Playgroud)

编辑耳机的 ALSA 输出文件

  1. 通过键入备份耳机输出文件sudo cp ./analog-output-headphones.conf analog-output-headphones.conf.bak

  2. 通过键入编辑该文件gedit admin:///usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf

  3. 将此代码添加到文件末尾(但在任何.include行之前),以便在选择耳机时使扬声器静音。然后保存并关闭编辑器。

    [Element Line Out]
    switch = off
    volume = off
    
    Run Code Online (Sandbox Code Playgroud)
  4. 第一次尝试时跳过此步骤并完成以下步骤。如果选择耳机时扬声器声音没有关闭,可能是因为声音正在通过 Front 元素重定向。找到该[Element Front]行并将其修改为:

    [Element Front]
    switch = off
    volume = off
    
    Run Code Online (Sandbox Code Playgroud)

编辑 alsamixer 中禁用自动静音

  1. 类型alsamixer
  2. 如果需要,请使用F6查找适合扬声器的正确声卡。
  3. 使用箭头键查找Auto-Mute并禁用向下箭头
  4. Esc关闭 alsamixer 并
  5. 保存更改alsactl store

重新启动 Pulseaudit

  1. 类型pulseaudio -k && pulseaudio --start

您现在应该在声音设置中看到扬声器和耳机的单独选项。