当前位置: 首页>>技术教程>>正文


18.04、16.04检测到耳机,但开机后没有自动开机

, , , ,

问题描述

编辑:这个问题似乎也影响到 18.04。

我从 15.10 开始就有这个问题,但在升级到 16.04 后它开始真正磨合我的齿轮。

假设我插入了耳机。我重新启动\\重新登录\\启动到 ubuntu,然后播放音乐。 \n它来自内置扬声器而不是耳机。

我可以看到在音频设置菜单中检测到耳机,但只有在我更换设备或重新插入耳机后它们才能工作。

这在 15.10 上更容易被忽略,因为那时,在启动后,一切都被静音了。耳机和扬声器,如果在上述启动之前有耳机。

我会在问题中添加日志,但我真的不知道是哪个日志,也不知道如何获取它们(我愿意接受建议)。问题发生在 Dell Inspiron 3537 笔记本电脑上,它内部有一个 Realtek 声卡。

它的侧面有一个输出插孔,既可以作为输入也可以作为输出。


pacmd listcards 的输出

2 card(s) available.
    index: 0
    name: <alsa_card.pci-0000_00_03.0>
    driver: <module-alsa-card.c>
    owner module: 6
    properties:
        alsa.card = "0"
        alsa.card_name = "HDA Intel HDMI"
        alsa.long_card_name = "HDA Intel HDMI at 0xc0810000 irq 49"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:03.0"
        sysfs.path = "/devices/pci0000:00/0000:00:03.0/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "0a0c"
        device.product.name = "Haswell-ULT HD Audio Controller"
        device.form_factor = "internal"
        device.string = "0"
        device.description = "Wbudowany dźwięk"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    profiles:
        output:hdmi-stereo: Wyjście Digital Stereo (HDMI) (priority 5400, available: unknown)
        output:hdmi-surround: Wyjście Digital Surround 5.1 (HDMI) (priority 300, available: unknown)
        output:hdmi-surround71: Wyjście Digital Surround 7.1 (HDMI) (priority 300, available: unknown)
        output:hdmi-stereo-extra1: Wyjście Digital Stereo (HDMI 2) (priority 5200, available: unknown)
        output:hdmi-surround-extra1: Wyjście Digital Surround 5.1 (HDMI 2) (priority 100, available: unknown)
        output:hdmi-surround71-extra1: Wyjście Digital Surround 7.1 (HDMI 2) (priority 100, available: unknown)
        output:hdmi-stereo-extra2: Wyjście Digital Stereo (HDMI 3) (priority 5200, available: unknown)
        output:hdmi-surround-extra2: Wyjście Digital Surround 5.1 (HDMI 3) (priority 100, available: unknown)
        output:hdmi-surround71-extra2: Wyjście Digital Surround 7.1 (HDMI 3) (priority 100, available: unknown)
        off: Wyłączone (priority 0, available: unknown)
    active profile: <output:hdmi-stereo>
    sinks:
        alsa_output.pci-0000_00_03.0.hdmi-stereo/#0: Wbudowany dźwięk Digital Stereo (HDMI)
    sources:
        alsa_output.pci-0000_00_03.0.hdmi-stereo.monitor/#0: Monitor of Wbudowany dźwięk Digital Stereo (HDMI)
    ports:
        hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
        hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
        hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
    index: 1
    name: <alsa_card.pci-0000_00_1b.0>
    driver: <module-alsa-card.c>
    owner module: 7
    properties:
        alsa.card = "1"
        alsa.card_name = "HDA Intel PCH"
        alsa.long_card_name = "HDA Intel PCH at 0xc0814000 irq 48"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1b.0"
        sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "9c20"
        device.product.name = "8 Series HD Audio Controller"
        device.form_factor = "internal"
        device.string = "1"
        device.description = "Wbudowany dźwięk"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    profiles:
        input:analog-stereo: Wejście Analogowe stereo (priority 60, available: unknown)
        output:analog-stereo: Wyjście Analogowe stereo (priority 6000, available: unknown)
        output:analog-stereo+input:analog-stereo: Analogowy dupleks stereo (priority 6060, available: unknown)
        off: Wyłączone (priority 0, available: unknown)
    active profile: <output:analog-stereo+input:analog-stereo>
    sinks:
        alsa_output.pci-0000_00_1b.0.analog-stereo/#1: Wbudowany dźwięk Analogowe stereo
    sources:
        alsa_output.pci-0000_00_1b.0.analog-stereo.monitor/#1: Monitor of Wbudowany dźwięk Analogowe stereo
        alsa_input.pci-0000_00_1b.0.analog-stereo/#2: Wbudowany dźwięk Analogowe stereo
    ports:
        analog-input-internal-mic: Wewnętrzny mikrofon (priority 8900, latency offset 0 usec, available: unknown)
            properties:
                device.icon_name = "audio-input-microphone"
        analog-input-headphone-mic: Mikrofon (priority 8700, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-input-microphone"
        analog-input-headset-mic: Mikrofon na słuchawkach (priority 8700, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-input-microphone"
        analog-output-speaker: Głośniki (priority 10000, latency offset 0 usec, available: unknown)
            properties:
                device.icon_name = "audio-speakers"
        analog-output-headphones: Słuchawki (priority 9000, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-headphones"

最佳思路

我对此的看法是以下利用 PulseAudio。假设当您登录 Ubuntu 时,您始终连接着耳机,那么以下内容将确保当您启动到 Ubuntu 时它会自动将其设置为默认输入和输出(假设您同时需要)。

在 Ubuntu 上,转到终端并键入以下内容,您只会从中收集索引号:

对于您的输出设备:

pacmd list-sinks – 会有很多信息,但要查找索引号和将成为新默认输出设备的相应设备。

对于您的输入设备:

pacmd list-sink-inputspacmd list-samples – 会有很多信息,但要查找索引号和将成为新默认输入设备的相应设备。使用 list-samples 以防 list-sink-inputs 不显示。

到目前为止,在 Ubuntu 上,连接耳机后,您应该有 2 个索引号。一个用于您的输入和输出。现在我们将去编辑您的 pulseaudio 默认配置:

sudo nano /etc/pulse/default.pa

转到最后一行并简单地添加以下内容:

set-default-sink 1 – 这对应于查看 pacmd list-sinks 的索引后的输出源。 1 是索引,因此将其更改为您得到的那个。

set-default-source 5 – 这对应于查看 pacmd list-sink-inputspacmd list-samples 的索引后的输入源。数字 5 是索引,因此将其更改为您得到的那个。

保存文件并重新启动计算机进行测试。测试涉及检查您是否获得了正确的索引值,因为某些设备具有相似的名称(如 NVIDIA 或 INTEL 音频源)。

如果一切设置正确,每次启动计算机时,您应该会看到 Ubuntu 将默认输入/输出设置为耳机。由于您在谈论耳机,对于降噪,您可以使用我的其他答案来帮助您:Realtime noise-removal with PulseAudio?

注意:您还可以使用 pacmd list-sources 查看所有设备,也可以不使用索引号,而是使用分配设备的名称,如下所示:

alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancel 让您了解要查找的名称(我知道超长)。名称使用起来更准确但更难记住,因此您可以在此处选择使用其中一个。使用名称的最终结果将是这样的:

default.pa 文件中的 set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancel,仅供您参考。

对于 GUI 选项,我推荐 pavucontrol 或 PulseAudio Volume Control。它提供了一个选项来将设备设置为输入和输出设备的默认/回退。使用这两种技术可能会给你你想要的。

次佳思路

如果您的声音设备是 0 – HDMI 和 1 – 模拟,您可以切换到耳机

$ pacmd set-sink-port 1 analog-output-headphones

要使其永久化,请编辑 /etc/pulse/default.pa 并在 ### Make some devices default 下的底部放置:

set-default-sink 1
set-sink-port 1 analog-output-headphones

现在一切都应该按预期工作。当您厌倦了使用耳机时,请确保再次将其注释掉。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13211.html,未经允许,请勿转载。