我多年来一直archlinux在笔记本电脑上运行,从不需要麦克风。现在我需要它,但找不到正确配置它的方法。
我使用alsa和pulseadio。
alsamixer作为用户运行我有两个仪表:
|| ||
Master Capture
Run Code Online (Sandbox Code Playgroud)
我将它们都取消静音并启用了合理的 (~50%) 值。
alsamixer以 root 身份运行我有几个仪表:
|| || || || || ||
Master Headphones Speaker PCM Microphone MIC Boot
|| || || || ||
Beep Loopback Internal Internal Capture
Run Code Online (Sandbox Code Playgroud)
如果我Loopback以 root 身份启用,我可以通过扬声器听到麦克风的声音。
如果我alsamixer以用户身份明确选择我的声卡,我会得到与以 root 身份运行相同的命令(如果我Loopback在这里启用,我也会听到来自扬声器的麦克风)。我得到以下信息:
(右边是另外两个Internal仪表,Loopback(enable/disable) 和 mutable Off-hook)
然而,无论我做什么,无论我如何干预 alsa 仪表,我都无法将麦克风传递给用户应用程序。本质上,每次运行时,arecord我都会得到以下输出:
$ arecord -vv -f dat /dev/null
Recording …Run Code Online (Sandbox Code Playgroud)