我的笔记本电脑(运行 Pop_OS 20.04,内核 5.4——它是 Ryzen,与任何旧内核一起工作都非常糟糕)假装有 2 个麦克风:一个“数字麦克风”(从不执行任何操作)和一个“耳机麦克风”(仅工作)美好的)。然而,在某些时候,脉冲音频决定默认输入是无用的(据我所知不存在)“数字麦克风”(可能同时它决定输出音量在耳机和集成扬声器之间共享,这是另一个烦恼,但不同问题)。
编辑:这是以下的输出arecord --list-devices
:
% arecord --list-devices
**** List of CAPTURE Hardware Devices ****
card 1: Generic_1 [HD-Audio Generic], device 0: CX8070 Analog [CX8070 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: acp [acp], device 0: DMIC capture dmic-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
以及输出pacmd list-sources | grep 'name:.*input'
:
% pacmd list-sources | grep 'name:.*input'
name: <alsa_input.pci-0000_04_00.6.HiFi__hw_acp__source>
name: <alsa_input.pci-0000_04_00.6.HiFi__hw_Generic_1__source>
当我使用“静音麦克风”快捷键时,它会将不工作的“数字麦克风”静音,并让声音流入“耳机麦克风”。
我可以在Audacity中选择工作麦克风并进行良好的录音;然而,在大多数应用程序中,它根本不可用(例如,它在任何视频会议软件中都无法使用,这令人发狂,因为大多数程序只允许使用“默认”输入,可能是因为另一个输入是“拔出”)。
显然,当插入带有集成麦克风的耳机时,“耳机麦克风”正在使用实际的耳机麦克风(尽管仍然错误地标记为“未插入”),而当耳机插座中没有插入麦克风时,“耳机麦克风”则使用集成的笔记本电脑麦克风。无论如何,大多数应用程序都无法使用实际的麦克风。
在 pavucontrol 中,我无法禁用数字麦克风,也无法将模拟麦克风设置为默认模式(我可以单击“默认”按钮,但设置会立即被忘记)。请注意,“耳机”麦克风被错误地标记为“已拔出”,而监控栏显示有声音传入)。
我已经尝试过一些建议的事情通过这个答案但他们什么也没做:
% pacmd list | grep active
active port: <[Out] Headphones>
active port: <[In] Mic1>
active port: <[In] Mic2>
active profile: <off>
active profile: <HiFi>
Mic1 是“数字麦克风”,“Mic2”是“耳机”之一。然而:
% pacmd set-source-port 1 "<[In] Mic2>"
Failed to set source port to '<[In] Mic2>'.
Alsamixer 也没有帮助;据我所知,它只显示一个输入(默认输入)。
这是一个严重的不便,主要是因为除非使用蓝牙耳机,否则我无法进行任何视频会议。
我已经按照建议尝试过这个问题/答案将“模拟耳机麦克风”设置为“永久插入”状态,没有骰子,它仍然是“拔出”:
% sudo vi /usr/share/pulseaudio/alsa-mixer/paths/analog-input-headphone-mic.conf
[Jack Headphone Mic]
required-any = any
state.plugged = yes
答案1
尝试设置一个活动的配置文件。以下是 Arch wiki 的摘录:
可以使用命令设置“活动配置文件”
pacmd set-card-profile INDEX PROFILE
,不使用逗号分隔 INDEX 和 PROFILE,其中 INDEX 只是“index:”行上的数字,PROFILE 名称是从“profile:”下任何行开头显示的所有内容。 " 到冒号和第一个空格之前,如命令所示pacmd list-cards
。例如,pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo
首先通过 列出您的卡,pacmd list-cards
然后使用pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo
您可以将命令中的“0”替换为卡的索引号来设置卡的配置文件。尝试保持命令中描述的相同配置文件,即输出:模拟立体声+输入:模拟立体声。
您也可以从pavucontrol
GUI 执行相同的操作。最后一个“配置”选项卡可用于此目的。
答案2
首先,您必须通过获取可用来源列表来缩小模拟麦克风的名称范围。
pacmd list-sources | grep -i "name:"
这些源之一将对应于您想要静音的模拟麦克风,可以and
通过以下方式“静音取消静音”:
pacmd set-source-mute [NAME of source from previous command output] 1
并取消静音
pacmd set-source-mute [NAME of source from previous command output] 0
更好的是,您可以将源设置为默认源输出:
pacmd set-default-source [NAME]
然后你的快捷方式应该控制你的模拟麦克风。
答案3
昨天,当 Pop_OS 将我的内核升级到 5.8 版本时,问题终于解决了。现在默认麦克风是“内部麦克风”,一切正常。 “麦克风静音”按钮有效,录音在所有应用程序中均有效。