ALSA 没有列出捕获设备

ALSA 没有列出捕获设备

那么,出于某种原因,我不能在我的帖子前面加上“嘿”这个词?很奇怪。无论如何:

我刚买了一个新耳机,令我大吃一惊的是,ALSA 甚至不相信有线路输入。alsamixer/aplay -L/arecord -l 列出无捕获设备。自从我组装了这台机器以来,音频输出一直运行良好(通过 HDMI),但其他输出端口从未工作过(仅在 Linux 上测试过)。我认为以下是一些有用的东西:

AlsaMixer 总共列出了四个播放设备(S/PDIF、S/PDIF 1、S/PDIF 2、S/PDIF 3),但没有捕获设备。我以前从未使用过 AlsaMixer,但似乎出了点问题(如果正在播放某些东西,难道不应该有活动吗?)。这是播放音乐时截取的屏幕截图(再次说明,我听到播放没有任何问题)(Ubuntu 的声音首选项面板告诉我 mocp 正在使用 ALSA 插件。):

https://i.stack.imgur.com/5s9Fc.png

“全部”列出了这四个设备,而“捕获”则什么都没有列出(“此声音设备没有任何捕获控制。”)。

Ubuntu 的声音偏好设置面板的“输入”选项卡中未列出任何设备。“输出”选项卡列出了一个“GF110 高清音频控制器”和一个“数字立体声 (HDMI) 输出”。

这一输出似乎得到了相当广泛的要求:

$ arecord -l
**** List of CAPTURE Hardware Devices ****

$ aplay -L
default
    Playback/recording through the PulseAudio sound server
pulse
    Playback/recording through the PulseAudio sound server
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    HDMI Audio Output
dmix:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct sample mixing device
dmix:CARD=NVidia,DEV=7
    HDA NVidia, HDMI 0
    Direct sample mixing device
dmix:CARD=NVidia,DEV=8
    HDA NVidia, HDMI 0
    Direct sample mixing device
dmix:CARD=NVidia,DEV=9
    HDA NVidia, HDMI 0
    Direct sample mixing device
dsnoop:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct sample snooping device
dsnoop:CARD=NVidia,DEV=7
    HDA NVidia, HDMI 0
    Direct sample snooping device
dsnoop:CARD=NVidia,DEV=8
    HDA NVidia, HDMI 0
    Direct sample snooping device
dsnoop:CARD=NVidia,DEV=9
    HDA NVidia, HDMI 0
    Direct sample snooping device
hw:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct hardware device without any conversions
hw:CARD=NVidia,DEV=7
    HDA NVidia, HDMI 0
    Direct hardware device without any conversions
hw:CARD=NVidia,DEV=8
    HDA NVidia, HDMI 0
    Direct hardware device without any conversions
hw:CARD=NVidia,DEV=9
    HDA NVidia, HDMI 0
    Direct hardware device without any conversions
plughw:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Hardware device with all software conversions
plughw:CARD=NVidia,DEV=7
    HDA NVidia, HDMI 0
    Hardware device with all software conversions
plughw:CARD=NVidia,DEV=8
    HDA NVidia, HDMI 0
    Hardware device with all software conversions
plughw:CARD=NVidia,DEV=9
    HDA NVidia, HDMI 0
    Hardware device with all software conversions

下面是我的 alsa-base 配置(完全 Ubuntu 原版):

$ cat /etc/modprobe.d/alsa-base.conf 
# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7

# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
#
# Workaround at bug #499695 (reverted in Ubuntu see LP #319505)
install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; : ; }
install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use blacklist snd-seq-oss ; : ; }
#
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; : ; }
# Cause optional modules to be loaded above sound card driver modules
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }
install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }

# Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway)
install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; }
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options saa7134-alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
options snd-usb-audio index=-2
options snd-usb-caiaq index=-2
options snd-usb-ua101 index=-2
options snd-usb-us122l index=-2
options snd-usb-usx2y index=-2
# Ubuntu #62691, enable MPU for snd-cmipci
options snd-cmipci mpu_port=0x330 fm_port=0x388
# Keep snd-pcsp from being loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2

还有一些我在最近的谷歌搜索中看到的请求的输出:

$ cat /proc/asound/card0/codec* | grep Codec
Codec: Nvidia GPU 18 HDMI/DP
Codec: Nvidia GPU 18 HDMI/DP
Codec: Nvidia GPU 18 HDMI/DP
Codec: Nvidia GPU 18 HDMI/DP

那么,有谁能回答吗?

如有要求,可提供更多输出。我的 Ubuntu 版本是从 10.10 升级到 11.04,但由于这是核心软件包中的问题,并且从 10.04 开始就存在了,所以我很确定这不是特定于特定 Ubuntu 变体或版本的问题。

答案1

看起来您想通过显卡上的 HDMI 音频端口进行捕获。这是不可能的 - 显卡上的 HDMI 端口没有捕获功能。您需要在系统中添加声卡。

答案2

您的alsamixer屏幕截图一次只显示一个声音设备。按 F6 切换设备,然后在打开的对话框中选择麦克风连接的设备。它可能是 Realtec AC97 或 Intel HD 之类的东西。然后您可能会看到前置或后置麦克风输入已静音或其音量设置为零。取消静音任一麦克风输入并将其音量调高,直到您对音量满意为止。

相关内容