音频在 Arch Linux 上无法工作

音频在 Arch Linux 上无法工作

我已经安装了该alsa-utils软件包。运行amixer sset Master unmute返回错误amixer: Unable to find simple control 'Master',0

执行后,alsamixer我在终端模拟器中得到了 alsamixer 应用程序,但什么<-也不->做;我只能m在列出为 的项目上使用S/PDIF

beep在控制台中工作,但其他音频不起作用。

非常感谢任何帮助。

根据 @jasonwryan 的请求,以下是有关我的声卡的一些信息:

$cat /proc/asound/cards

 0 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xe0244000 irq 27
 1 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xe0240000 irq 16

$aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: CX20590 Analog [CX20590 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

认识我的~/.asoundrc

pcm.!default {
    type hw
    card SB
}

ctl.!default {
    type hw
    card Generic
}

验证加载了正确的声音模块:

$lsmod | grep '^snd' | column -t

snd_hda_codec_conexant  21937   1
snd_hda_codec_generic   63087   1  snd_hda_codec_conexant
snd_hda_codec_hdmi      49263   1
snd_hda_intel           26387   0
snd_hda_controller      26938   1  snd_hda_intel
snd_hda_codec           112621  5  snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_intel,snd_hda_controller
snd_hwdep               17244   1  snd_hda_codec
snd_pcm                 88785   4  snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller
snd_timer               26614   1  snd_pcm
snd                     73436   8  snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel

$ls -l /dev/snd

total 0
drwxr-xr-x  2 root root       80 Jan 28 08:15 by-path
crw-rw----+ 1 root audio 116,  2 Jan 28 08:15 controlC0
crw-rw----+ 1 root audio 116,  5 Jan 28 08:15 controlC1
crw-rw----+ 1 root audio 116,  4 Jan 28 08:15 hwC0D0
crw-rw----+ 1 root audio 116,  8 Jan 28 08:15 hwC1D0
crw-rw----+ 1 root audio 116,  3 Jan 28 08:15 pcmC0D3p
crw-rw----+ 1 root audio 116,  7 Jan 28 08:15 pcmC1D0c
crw-rw----+ 1 root audio 116,  6 Jan 28 08:15 pcmC1D0p
crw-rw----+ 1 root audio 116,  1 Jan 28 08:15 seq
crw-rw----+ 1 root audio 116, 33 Jan 28 08:15 timer

$amixer scontrols

Simple mixer control 'IEC958',0

asoundrc.txt如前所述快速查找这里显示它在我的系统上 DNE

$pacman -Ql alsa-lib | grep asound

alsa-lib /usr/include/alsa/asoundef.h
alsa-lib /usr/include/alsa/asoundlib.h
alsa-lib /usr/include/alsa/sound/asound_fm.h
alsa-lib /usr/include/sys/asoundlib.h
alsa-lib /usr/lib/libasound.so
alsa-lib /usr/lib/libasound.so.2
alsa-lib /usr/lib/libasound.so.2.0.0
###############################更新

我一直运行 Xfce4 作为我的桌面环境,最近才切换到 Gnome。 全部音频现在可以工作了。

我将保持线程开放,以防有人能弄清楚为什么这应该可以解决问题。我真的很想知道。

答案1

当我使用通过 HDMI 连接的显示器时,我遇到了类似的问题。我在创建后设法解决了声音.asoundrc问题

pcm.!default {
      type hw
      card 1
      device 0
}
ctl.!default {
      type hw
      card 1
}

我从那里得到了上述值aplay -l 然后我运行:alsactl kill rescanalsactl restore。最后一个$ reboot

答案2

这对我来说是解决方案:

添加~/.asoundrc

pcm.!default {
 type pulse
}
ctl.!default {
 type pulse
}

答案3

我只是猜测你的声卡工作正常,这完全是pulseaudio的问题。 Alsamixer 与pulseaudio 不兼容。

尝试 pavucontrol (或类似的工具),它允许您修改脉冲音频混合器控件。

相关内容