为什么蓝牙工作正常,而我的有线扬声器却不工作?(pulseaudio 桥接至插孔)

为什么蓝牙工作正常,而我的有线扬声器却不工作?(pulseaudio 桥接至插孔)

我在 Dell Alienware R9 机器上运行 kubuntu 21.04 lowlatency,使用 Studio Controls 将 pulseaudio 桥接到 jack。我可以使用蓝牙扬声器收听音频,但有线扬声器不会在 Audio 或 pavucontrol 中显示为音频设备。

问题始于之前的配置,当时我将扬声器输出连接到组件接收器输入,并且使用一组新的 Creative Pebble 2.1 扬声器时仍然存在此问题。我的机器是双启动的,当我启动 Windows 10 时,扬声器的声音很好,所以我不认为这是扬声器的问题。

我试过这个Ubuntu 20.04.2 LTS 没有声音发现它在我的 qjackctl“图表”上引入了一个“PCH,1,0-out”图标 - 我将 pulse_out 修补到其中。但仍然没有声音(除非通过蓝牙)

    $ inxi
CPU: 8-Core Intel Core i7-9700 (-MCP-) speed/min/max: 800/800/4700 MHz 
Kernel: 5.11.0-25-lowlatency x86_64 Up: 1h 19m Mem: 5615.1/31932.8 MiB (17.6%) 
Storage: 5.24 TiB (1.8% used) Procs: 415 Shell: Bash inxi: 3.3.01 
$inxi -A

    Audio: 
Device-1: Intel 200 Series PCH HD Audio driver: snd_hda_intel 
Device-2: NVIDIA TU116 High Definition Audio driver: snd_hda_intel 
Device-3: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo 
Sound Server: ALSA v: k5.11.0-25-lowlatency 
$ lspci
00:00.0 Host bridge: Intel Corporation 8th/9th Gen Core 8-core Desktop Processor Host Bridge/DRAM Registers [Coffee Lake S] (rev 0d)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 0d)
00:01.1 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x8) (rev 0d)
00:02.0 Display controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630] (rev 02)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:14.0 USB controller: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller
00:16.0 Communication controller: Intel Corporation 200 Series PCH CSME HECI #1
00:17.0 SATA controller: Intel Corporation 200 Series PCH SATA controller [AHCI mode]
00:1b.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #17 (rev f0)
00:1c.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #2 (rev f0)
00:1c.2 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #3 (rev f0)
00:1c.3 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #4 (rev f0)
00:1d.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #9 (rev f0)
00:1e.0 Signal processing controller: Intel Corporation 200 Series/Z370 Chipset Family Serial IO UART Controller #0
00:1f.0 ISA bridge: Intel Corporation Z370 Chipset LPC/eSPI Controller
00:1f.2 Memory controller: Intel Corporation 200 Series/Z370 Chipset Family Power Management Controller
00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
00:1f.4 SMBus: Intel Corporation 200 Series/Z370 Chipset Family SMBus Controller
01:00.0 VGA compatible controller: NVIDIA Corporation TU116 [GeForce GTX 1660 Ti] (rev a1)
01:00.1 Audio device: NVIDIA Corporation TU116 High Definition Audio Controller (rev a1)
01:00.2 USB controller: NVIDIA Corporation TU116 USB 3.1 Host Controller (rev a1)
01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU116 USB Type-C UCSI Controller (rev a1)
03:00.0 Non-Volatile memory controller: Micron Technology Inc Device 5410 (rev 01)
04:00.0 USB controller: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller
05:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
06:00.0 Ethernet controller: Qualcomm Atheros Killer E2500 Gigabit Ethernet Controller (rev 10)
$ sudo lshw -C sound
[sudo] password for magraith: 
  *-multimedia              
       description: Audio device
       product: TU116 High Definition Audio Controller
       vendor: NVIDIA Corporation
       physical id: 0.1
       bus info: pci@0000:01:00.1
       version: a1
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=snd_hda_intel latency=0
       resources: irq:17 memory:ec080000-ec083fff
  *-usb:3
       description: Video
       product: Webcam C270
       vendor: Logitech, Inc.
       physical id: 5
       bus info: usb@1:5
       version: 0.12
       serial: 81D52620
       capabilities: usb-2.00
       configuration: driver=snd-usb-audio maxpower=500mA speed=480Mbit/s
  *-multimedia
       description: Audio device
       product: 200 Series PCH HD Audio
       vendor: Intel Corporation
       physical id: 1f.3
       bus info: pci@0000:00:1f.3
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list
       configuration: driver=snd_hda_intel latency=32
       resources: iomemory:2f0-2ef iomemory:2f0-2ef irq:154 memory:2fff020000-2fff023fff memory:2fff000000-2fff00ffff

答案1

有几点需要注意,首先,这与您的扬声器无关,根据其产品描述,扬声器是标准 1/8 英寸音频插孔驱动,并由 USB 供电,而不是 USB 音频。

所以实际的问题是为什么您的音频软件没有将输出定向到指定的音频端口。

如果您使用脉冲音频控制,则有一种方便的方法来检查实际分配的输出设备。请注意,您通常必须禁用其他设备才能让 pulseaudio 始终将输出定向到您想要的位置,至少我总是这样做。您还必须为该硬件设备选择正确的配置文件,在这种情况下,它可能是“模拟立体声输出”。

因此,您使用的音频输出端口必须来自您的 nvidia 或 intel 音频设备,并且必须告知 pulseaudio 使用那个,根据我的经验,它很少会在没有任何人工干预的情况下真正选择您想要的那个。

再次,您可能会混淆输出的方向和扬声器,而扬声器在这个方面您可以基本忽略,因为它们只是音频端口信号的被动接收者,这里的问题可能是该信号在 pulseaudio 内部的实际去向。

Jack 集成可能会或可能不会干扰这一点,但我的猜测是,如果你检查脉冲音频音量控制,请确保配置选项卡显示所有你未使用的音频设备都已禁用,也就是说,除了你正在使用的音频设备之外,其他所有音频设备都已关闭,然后“输出设备”选项卡端口设置为正确的输出端口,对于 1/8 英寸音频输出来说,可能是耳机,这取决于情况。

同样,Jack audio 可能会改变其中一些因素,但这是我要检查的第一件事。当我无法从输出端口(即插头)获取音频时,几乎总是因为这两个东西没有正确配置/设置,并且几乎总是,pulseaudio 无法自动检测特定的耳机端口变化,也可能是预输出、线路输出端口。当然,使用哪个端口取决于您是否向扬声器发送线路信号(您本应将其发送到接收器)或耳机信号,这意味着您的本地软件音量控制着音量,而不是扬声器上的音量控制(如果有)。听起来您的扬声器收到了线路电平信号,然后您使用扬声器音量控制来调整音量。

蓝牙可能仍在抓取信号,蓝牙音频在 Linux 中并不出色,它可能只是没有释放音频,我不知道它是什么样子,因为我不在 Linux 中使用蓝牙音频,因为蓝牙本质上比有线音频的保真度较低。

相关内容