Audio 默认音频设备

Audio 默认音频设备,audio,alsa,nix,nixos,pulse,Audio,Alsa,Nix,Nixos,Pulse,我正在尝试在NixOS主机上配置默认音频设备 因此,我的alsa设备是: $ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]

我正在尝试在NixOS主机上配置默认音频设备

因此,我的alsa设备是:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC1220 Digital [ALC1220 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
我没有HDMI或数字音频设备;我只想使用常规的ALC1220模拟设备

我目前在我的环境(对于sox)中设置了
AUDIODEV=hw:1,0
,在我的vlcrc中设置了
alsa audio device=sysdefault:CARD=Generic
。这是可行的,但它显然是特定于用户和应用程序的,是去极化(declarity?)的痛苦

它似乎应该是我可以在主机级别设置的,例如,通过设置

sound.extraConfig =
  ''
    pcm.!default {
      type hw
      card Generic
    }
  '';
在我的configuration.nix中,或者可能配置pulseaudio

我曾在NixOS Wiki(,)和其他网站(如)以及StackOverflow(如)等网站上寻求帮助,但我找不到任何实际有效的方法

我已经尝试过上述方法,以及其变体;也试过有无脉搏;但我没有发现任何有效的方法

简单地向卡上的所有设备播放音频也会非常好

一如往常,所有的指点都受到了感激

更新:这是我的/etc/asound.conf

pcm_type.pulse {
  libs.native = /nix/store/a3v4gh5lbb2g8fizq9xh8nbdp8qrvs6r-alsa-plugins-1.1.6/lib/alsa-lib/libasound_module_pcm_pulse.so ;

}
pcm.!default {
  type pulse
  hint.description "Default Audio Device (via PulseAudio)"
}
ctl_type.pulse {
  libs.native = /nix/store/a3v4gh5lbb2g8fizq9xh8nbdp8qrvs6r-alsa-plugins-1.1.6/lib/alsa-lib/libasound_module_ctl_pulse.so ;

}
ctl.!default {
  type pulse
}
(该模块是真实的):


尝试配置
sound.enable=true
hardware.pulseaudio.enable=true。删除
声音.extraConfig
。然后使用
pavucontrol
查看检测到哪些音频设备。谢谢。实际上,我已经有了
sound.enable=true
hardware.pulseaudio.enable=true;并删除了外部配置。运行pavucontrol向我展示了一个设备-
系列17h(型号00h-0fh)高清音频控制器模拟立体声
,带有端口线路输出(插入式)和耳机(未插入式)。不过,使用AUDIODEV unset运行(比如)
play
会让人安静,其中
AUDIODEV=hw:1,0
起作用(通过线路输出播放)。嗯,也许你缺少了一个PulseAudio ALSA插件。考虑发布你的<代码> /ETC/AsNo.CONF< /代码>。当然,已经完成了。Hmm.。好的,再次尝试使用
play
而不设置
AUDIODEV
,然后运行
pavucontrol
并转到“播放”选项卡。您看到“ALSA插件”列表了吗?也许你也有“系统声音”。如果您确实看到了ALSA插件,那么它可能是静音的。注意:应用程序需要产生音频(即使您听不到),才能在“播放”选项卡中显示。请尝试配置
sound.enable=true
hardware.pulseaudio.enable=true。删除
声音.extraConfig
。然后使用
pavucontrol
查看检测到哪些音频设备。谢谢。实际上,我已经有了
sound.enable=true
hardware.pulseaudio.enable=true;并删除了外部配置。运行pavucontrol向我展示了一个设备-
系列17h(型号00h-0fh)高清音频控制器模拟立体声
,带有端口线路输出(插入式)和耳机(未插入式)。不过,使用AUDIODEV unset运行(比如)
play
会让人安静,其中
AUDIODEV=hw:1,0
起作用(通过线路输出播放)。嗯,也许你缺少了一个PulseAudio ALSA插件。考虑发布你的<代码> /ETC/AsNo.CONF< /代码>。当然,已经完成了。Hmm.。好的,再次尝试使用
play
而不设置
AUDIODEV
,然后运行
pavucontrol
并转到“播放”选项卡。您看到“ALSA插件”列表了吗?也许你也有“系统声音”。如果您确实看到了ALSA插件,那么它可能是静音的。注意:应用程序需要产生音频(即使你听不到),才能在“播放”选项卡中显示。
$ ls -l /nix/store/a3v4gh5lbb2g8fizq9xh8nbdp8qrvs6r-alsa-plugins-1.1.6/lib/alsa-lib/libasound_module_ctl_pulse.so
-r-xr-xr-x 1 root root 33512 Jan  1  1970 /nix/store/a3v4gh5lbb2g8fizq9xh8nbdp8qrvs6r-alsa-plugins-1.1.6/lib/alsa-lib/libasound_module_ctl_pulse.so