编辑:该问题似乎也影响 18.04。
我从 15.10 开始就遇到了这个问题,但是在升级到 16.04 之后,它开始真正让我烦恼。
假设我插上了耳机。我重新启动\重新登录\启动到ubuntu,播放音乐。它来自内置扬声器而不是耳机。
我可以看到在音频设置中检测到耳机菜单,但只有在我更换设备或重新插入耳机后它们才能工作。
在 15.10 上,这个问题更容易被忽略,因为那时,启动后,一切都会静音。耳机和扬声器(如果在启动前有耳机的话)。
我想在问题中添加日志,但我不知道该添加哪些日志,或者如何获取它们(我愿意接受建议)。问题发生在戴尔 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"
答案1
我对此的看法是利用 PulseAudio。假设当您登录 Ubuntu 时,您的耳机始终处于连接状态,则以下内容将确保当您启动 Ubuntu 时,它会自动将其设置为默认输入和输出(假设您需要两者)。
在 Ubuntu 上,转到终端并输入以下内容,您将仅从中收集索引号:
为您输出设备:
pacmd list-sinks
- 将会有很多信息,但请查找索引号和相应的设备,这些设备将成为您的新默认输出设备。
为您输入设备:
pacmd list-sink-inputs
或者pacmd list-samples
- 会有很多信息,但请查找索引号和相应的设备,这些设备将成为您的新默认输入设备。如果 list-sink-inputs 中没有显示,请使用 list-samples。
到目前为止,在 Ubuntu 上,当您的耳机连接好后,您应该有 2 个索引号。一个用于输入,另一个用于输出。现在我们将编辑您的 pulseaudio 默认配置:
sudo nano /etc/pulse/default.pa
转到最后一行并添加以下内容:
set-default-sink 1
- 这对应于输出源查看索引后pacmd list-sinks
。1 是索引,因此将其更改为您得到的索引。
set-default-source 5
- 这对应于输入源查看pacmd list-sink-inputs
或的索引后pacmd list-samples
。数字 5 是索引,因此将其更改为您得到的索引。
保存文件并重启电脑进行测试。测试包括检查您是否获得了正确的索引值,因为某些设备的名称相似(如 NVIDIA 或 INTEL 音频源)。
如果一切设置正确,每次启动计算机时,您都应该看到 Ubuntu 将默认输入/输出设置为您的耳机。由于您谈论的是耳机,因此对于降噪,您可以使用我的其他答案来帮助您:使用 PulseAudio 实时消除噪音?
笔记:您还可以使用它pacmd list-sources
来查看所有设备,并且不使用索引号,而是使用分配的设备名称,如下所示:
alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancel
让您了解要查找哪些名称(我知道这太长了)。名称使用起来更准确,但更难记住,因此您可以在此处选择使用其中一个。使用名称的最终结果将如下所示:
set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancel
在 default.pa 文件中,只是为了给你一个想法。
对于 GUI 选项,我推荐pavucontrol
使用 PulseAudio Volume Control。它提供了一个选项,可以将设备设置为输入和输出设备的默认/后备。使用这两种技术可能会给你想要的结果。
答案2
如果你的声音设备是 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
现在一切都应该按预期工作了。当你厌倦了使用耳机时,一定要再次注释掉它。
答案3
做得好rm -rf ~/.pulse ~/.config/pulse
极了。
答案4
好吧,我想我有办法你可以试试。
如果你搜索多媒体系统选择在 Dash 上。打开它并转到Audio
选项卡,您可以在其中选择默认的音频输入和输出设备。
它应该默认安装。如果没有,您可以随时运行
sudo apt-get install gnome-media
。如果它没有显示在 Dash 中,请运行:
gksudo gedit /usr/share/applications/gstreamer-properties.desktop
。在生成的文本文件中,转到以 开头的行,NoDisplay=.
将 更改NoDisplay=true
为NoDisplay=false
希望有所帮助!