Ubuntu 23.10 默认音频输出设备不受尊重

Ubuntu 23.10 默认音频输出设备不受尊重

我有一个设置,其中 AUX 扬声器和 USB 耳机连接到我的 Ubuntu 23.10 机器。我可以将默认音频输出设备设置为耳机,Spotify 等某些应用程序似乎尊重这一选择。但是,Chrome 或 Rhythmbox 等其他应用程序仍继续使用扬声器。

我已尝试pavucontrol按照建议进行安装这个问题并从那里切换应用程序输出设备。但是,某些操作(例如将视频切换到全屏)会不断将音频输出设备从耳机改回扬声器。这真的很令人沮丧。

我尝试过的事情:

  • 使用 PulseAudio 配置控制音频pavucontrol并重置 ( rm -r ~/.config/pulse) (问题 1问题2
  • 禁用某些 PulseAudio 模块的各种变体(问题 1问题2这篇 Reddit 帖子
  • 设置默认的 PulseAudio 接收器(我仅通过 执行此操作pavucontrol,在“配置”选项卡中选择耳机作为后备,也可以通过 Gnome 设置进行选择)。运行pactl get-default-sink也可以正确显示耳机:alsa_output.usb-Kingston_HyperX_7.1_Audio_00000000-00.analog-stereo
  • 重新启动 PulseAudio:pulseaudio -k && pulseaudio --start
  • 重新安装 PulseAudio:sudo apt install --reinstall pulseaudio; rm -r ~/.config/pulse; sudo reboot

但是,这些似乎都不起作用。我可以从 Gnome 设置或 pavucontrol 中选择耳机,例如 Spotify 可以工作,但是当我在 Chrome 中打开新视频时,它只会在扬声器上播放。将其更改为耳机的唯一方法是通过 pavucontrol,或者转到 Gnome 音频设置,选择扬声器(现在所有内容都通过扬声器播放),然后重新选择耳机(现在所有内容都通过耳机播放)。同样,将视频切换到全屏会将 Chrome 输出恢复到扬声器(但 Spotify 不会)。

笔记

  • 我的系统比较旧,已经更新过很多次了。我记得安装的第一个 Ubuntu 版本是 17.04。
  • USB 耳机也相当旧了(HyperX Cloud II),它们似乎工作正常(例如在 Windows 上),但 DAC 此时已经相当破旧了。可能是硬件问题?

有没有其他人遇到过这个问题,并能指点如何解决?或者对我应该查看哪些日志/采取哪些调试步骤有什么建议?任何帮助都非常感谢。

编辑

添加一些可能有帮助的系统信息。

$ pactl list short cards
pactl list short cards
44  alsa_card.pci-0000_00_1b.0  alsa  # Built-in audio
45  alsa_card.pci-0000_05_00.1  alsa  # HDMI audio (disabled)
46  alsa_card.usb-0c76_USB_PnP_Audio_Device-00  alsa  # USB microphone
47  alsa_card.usb-Kingston_HyperX_7.1_Audio_00000000-00 alsa  # USB headphones
48  alsa_card.usb-046d_C922_Pro_Stream_Webcam_60A9E5DF-02   alsa  # Webcam microphone (disabled)

$ pactl list short sinks
49  alsa_output.pci-0000_00_1b.0.analog-stereo  PipeWire    s32le 2ch 48000Hz   IDLE  # Speakers
52  alsa_output.usb-Kingston_HyperX_7.1_Audio_00000000-00.analog-stereo PipeWire    s16le 2ch 48000Hz   RUNNING  # Headphones

$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 247
Tile Size: 65472
User Name: myname
Host Name: myname-pc-ubuntu
Server Name: PulseAudio (on PipeWire 0.3.79)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-Kingston_HyperX_7.1_Audio_00000000-00.analog-stereo
Default Source: alsa_input.usb-0c76_USB_PnP_Audio_Device-00.mono-fallback
Cookie: 5042:06db

答案1

也许我在启动应用程序中使用的脚本能够使用模拟线路输出有帮助:

#!/usr/bin/env bash
alsa force-reload
systemctl --user 启动 pipewire-pulse.service

来源:声音不工作 | Ubuntu 22.10 Tiger Lake-LP 智能声音

相关内容