如何设置HDMI卡-默认声卡

如何设置HDMI卡-默认声卡

大家好,我使用笔记本电脑 + 外接显示器,我需要使用显示器扬声器,但在查看命令 [ aplay -l ] 结果 = 时,我在 alsamixer 中看不到 HDMI 卡

[void@base ~]$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX20757 Analog [CX20757 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [BenQ EX2710]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

并在查看命令时

[void@base ~]$  cat /proc/asound/modules
 0 snd_hda_intel

其他事情:我正在使用 void-base 系统和一些 xorg 服务和 dwm 窗口管理器

好吧,我需要知道如何将 HDM 卡设置为默认声卡

答案1

请注意,在这种情况下,只有一张声​​卡 ( card 0),具有多个输出设备,其中之一是 HDMI 输出。


PulseAudio/Pipewire

如果您使用 PulseAudio 或 Pipewire,它们应该如果您选择一次,会自动记住每个音频制作应用程序所选择的输出设备pavucontrol,并且对于之前未生成音频的程序,他们将使用用或类似的 PulseAudio 配置工具标记为“后备”的输出。

如果您需要在命令行上执行此操作,请首先确保使用正确的卡配置文件。用于pactl list cards查找卡名称和每个卡的可用配置文件:

pactl set-card-profile <card name> <profile name>

对于集成在英特尔芯片组中的高清音频,它可能是这样的:

pactl set-card-profile alsa_card.pci-0000_00_1f.3 output:hdmi-stereo+input:analog-stereo

然后运行pactl list sinks并找到水槽名称端口名称对于您的声卡。在输出中,它将如下所示:

Sink #<sink number>
        State: SUSPENDED
        Name: <here's the sink name you're looking for>
        [...some stuff indented at this level...]
        Properties:
                [...a lot of stuff indented at this level...]
        Ports:
                <here are the port names>
        Active Port: <something>
        Formats:
                [...]

由于您显然已将高清音频集成到英特尔芯片组中,因此接收器名称很可能是alsa_output.pci-0000_00_1f.3.hdmi-stereo。然后在该接收器的部分中找到该接收器可用的端口名称Ports:。它可能是类似的东西hdmi-output-0

一旦知道了名称,就可以在命令中使用它们,如下所示:

pactl set-sink-port <sink name or number> <port name>

即可能是这样的:

pactl set-sink-port alsa_output.pci-0000_00_1f.3.hdmi-stereo hdmi-output-0

set-sink-port对于 PulseAudio,您可以通过将命令添加到以下位置将其设置为系统范围的默认值/etc/pulse/default.pa

set-card-profile alsa_card.pci-0000_00_1f.3 output:hdmi-stereo+input:analog-stereo
set-sink-port alsa_output.pci-0000_00_1f.3.hdmi-stereo hdmi-output-0

但请注意,任何记住的每用户和每应用程序设置通常都会覆盖系统范围的 PulseAudio 默认值。


普通ALSA

如果您只使用普通的 ALSA,那么您可以在您的 中放置类似的内容~/.asoundrc

defaults.pcm.!card 0
defaults.ctl.!card 0
defaults.pcm.!device 3
defaults.ctl.!device 3

相关内容