我有一个音频接口,UMC404HD,我用它来连接扬声器和麦克风。它是通过 USB 电缆插入的。它以前在 Ubuntu 20.10 下工作正常。然而,当我更新到 21.04 时,似乎出了点问题。
主要问题是我无法再选择接口作为麦克风输入。唯一可用的输入来自我的网络摄像头,以前它也允许我选择 UMC404HD 作为麦克风:
正如他们所说,404 未找到。
但是设备已插入电源,并且以某种方式工作。Pavucontrol 确实向我显示了设备及其音量级别:
当我点击麦克风时,这些电平达到峰值。它实际上正在从麦克风获取输入。但不知何故,它不允许将其选为麦克风。另请注意,UMC404HD 设备缺少“端口:”下拉菜单。
在Pavucontrol的Configuration选项卡中,设备配置为输出+输入:
您知道为什么该设备不能用作麦克风输入吗?
编辑:根据要求,这里是一些与音频硬件和软件相关的命令的输出:
trin@Trinity:~$ uname -a
Linux Trinity 5.11.0-18-generic #19-Ubuntu SMP Fri May 7 14:22:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
trin@Trinity:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 11: HDMI 5 [HDMI 5]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 12: HDMI 6 [HDMI 6]
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: 0/1
Subdevice #0: subdevice #0
card 2: U192k [UMC404HD 192k], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
trin@Trinity:~$ arecord -l
**** List of CAPTURE Hardware Devices ****
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 2: ALC1220 Alt Analog [ALC1220 Alt Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: U192k [UMC404HD 192k], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 3: C920 [HD Pro Webcam C920], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
trin@Trinity:~$ inxi -SA
System: Host: Trinity Kernel: 5.11.0-18-generic x86_64 bits: 64 Desktop: GNOME 3.38.4 Distro: Ubuntu 21.04 (Hirsute Hippo)
Audio: Device-1: NVIDIA TU106 High Definition Audio driver: snd_hda_intel
Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio driver: snd_hda_intel
Device-3: Logitech OrbiCam type: USB driver: snd-usb-audio,uvcvideo
Device-4: BEHRINGER UMC404HD 192k type: USB driver: snd-usb-audio
Sound Server: ALSA v: k5.11.0-18-generic
trin@Trinity:~$ lspci -nnk | grep -A 1 Audio
2d:00.1 Audio device [0403]: NVIDIA Corporation TU106 High Definition Audio Controller [10de:10f9] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd TU106 High Definition Audio Controller [1458:37c2]
Kernel driver in use: snd_hda_intel
--
2f:00.4 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller [1022:1487]
Subsystem: Micro-Star International Co., Ltd. [MSI] X570-A PRO motherboard [1462:9c37]
trin@Trinity:~$ cat /proc/asound/cards
0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xf7080000 irq 72
1 [Generic ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xf7900000 irq 74
2 [U192k ]: USB-Audio - UMC404HD 192k
BEHRINGER UMC404HD 192k at usb-0000:2a:00.1-2, high speed
3 [C920 ]: USB-Audio - HD Pro Webcam C920
HD Pro Webcam C920 at usb-0000:2a:00.1-6.1.4, high speed
trin@Trinity:~$ sudo lshw -C multimedia
*-usb:1
description: Audio device
product: UMC404HD 192k
vendor: BEHRINGER
physical id: 2
bus info: usb@1:2
version: 1.12
capabilities: usb-2.00 audio-control
configuration: driver=snd-usb-audio maxpower=500mA speed=480Mbit/s
*-usb:3
description: Video
product: HD Pro Webcam C920
vendor: Logitech, Inc.
physical id: 4
bus info: usb@1:6.1.4
version: 0.19
serial: 47963BFF
capabilities: usb-2.00
configuration: driver=snd-usb-audio maxpower=500mA speed=480Mbit/s
*-multimedia
description: Audio device
product: TU106 High Definition Audio Controller
vendor: NVIDIA Corporation
physical id: 0.1
bus info: pci@0000:2d: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:72 memory:f7080000-f7083fff
*-multimedia
description: Audio device
product: Starship/Matisse HD Audio Controller
vendor: Advanced Micro Devices, Inc. [AMD]
physical id: 0.4
bus info: pci@0000:2f:00.4
version: 00
width: 32 bits
clock: 33MHz
capabilities: pm pciexpress msi bus_master cap_list
configuration: driver=snd_hda_intel latency=0
resources: irq:74 memory:f7900000-f7907fff
trin@Trinity:~$ dpkg -l | grep alsa
ii alsa-base 1.0.25+dfsg-0ubuntu7 all ALSA driver configuration files
ii alsa-firmware-loaders 1.2.2-1 amd64 ALSA software loaders for specific hardware
ii alsa-source 1.0.25+dfsg-0ubuntu7 all ALSA driver sources
ii alsa-topology-conf 1.2.4-1 all ALSA topology configuration files
ii alsa-ucm-conf 1.2.4-2ubuntu1.1 all ALSA Use Case Manager configuration files
ii alsa-utils 1.2.4-1ubuntu3 amd64 Utilities for configuring and using ALSA
ii alsamixergui 0.9.0rc2-1-10ubuntu1 amd64 graphical soundcard mixer for ALSA soundcard driver
ii gstreamer1.0-alsa:amd64 1.18.4-1 amd64 GStreamer plugin for ALSA
ii libalsaplayer-dev 0.99.81-2build2 amd64 alsaplayer plugin library (development files)
ii libalsaplayer0:amd64 0.99.81-2build2 amd64 alsaplayer plugin library
ii libclalsadrv-dev 2.0.0-3.1 all ALSA driver C++ access library (development files)
ii libclalsadrv2 2.0.0-3.1 amd64 ALSA
trin@Trinity:~$ cat /etc/pulse/default.pa
#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)
.fail
### Automatically restore the volume of streams and devices
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
### Automatically augment property information from .desktop files
### stored in /usr/share/application
load-module module-augment-properties
### Should be after module-*-restore but before module-*-detect
load-module module-switch-on-port-available
### Use hot-plugged devices like Bluetooth or USB automatically (LP: #1702794)
.ifexists module-switch-on-connect.so
load-module module-switch-on-connect
.endif
### Load audio drivers statically
### (it's probably better to not load these drivers manually, but instead
### use module-udev-detect -- see below -- for doing this automatically)
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif
### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
load-module module-jackdbus-detect channels=2
.fail
.endif
### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.endif
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif
### Load several protocols
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix
### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish
### Load the RTP receiver module (also configured via paprefs, see above)
#load-module module-rtp-recv
### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
#load-module module-rtp-send source=rtp.monitor
### Load additional modules from GSettings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
.ifexists module-gsettings.so
.nofail
load-module module-gsettings
.fail
.endif
### Automatically restore the default sink/source when changed by the user
### during runtime
### NOTE: This should be loaded as early as possible so that subsequent modules
### that look up the default sink/source get the right value
load-module module-default-device-restore
### Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink
### Honour intended role device property
load-module module-intended-roles
### Automatically suspend sinks/sources that become idle for too long
# Uitgecommentarieerd om te voorkomen dat mijn speakers klikken
#load-module module-suspend-on-idle
### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
.ifexists module-console-kit.so
load-module module-console-kit
.endif
.ifexists module-systemd-login.so
load-module module-systemd-login
.endif
### Enable positioned event sounds
load-module module-position-event-sounds
### Cork music/video streams when a phone stream is active
load-module module-role-cork
### Block audio recording for snap confined packages unless they have
### the "pulseaudio" or "audio-record" interfaces plugged.
.ifexists module-snap-policy.so
load-module module-snap-policy
.endif
### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply
### Make some devices default
#set-default-sink output
#set-default-source input
答案1
无论出于什么原因,PulseAudio 都不会将该接口视为源。需要通过强制加载和检测手动配置。步骤如下:
使用命令:
arecord -l
并记下卡号和设备号。
/etc/pulse/default.pa
以 root 身份在文本编辑器中打开。添加以下行:
load-module module-alsa-source device=hw:c,d
其中,
c
是卡号,d
是设备号。在该行下面添加:
.ifexists module-udev-detect.so
保存文件并重新加载 PulseAudio。可以通过命令行执行此操作:
pulseaudio -k ; pulseaudio -D
这应该会强制检测作为输入源。要查看用于验证解决方案的过程,请参阅 OP 下的评论。要了解有关 PulseAudio 中故障排除问题的更多信息,请参阅PulseAudio/Troubleshooting 的 Arch Linux Wiki。