Ubuntu 16.04下Python双麦克风同时输入异常:仅一个读取准确
嘿,我来帮你搞定Ubuntu 16.04下双麦克风只能读取一个的问题!这种情况通常可以从硬件检测、系统音频配置到应用设置一步步排查,咱们来逐个解决:
第一步:先确认硬件是否被系统识别
首先得排除硬件本身的问题:
- 先检查物理连接:如果是外接麦克风,确认插对了音频输入接口;USB麦克风的话,换个USB口试试,排除接触不良的情况。
- 打开终端,运行
arecord -l命令,这个命令会列出系统所有识别到的音频输入设备。你要看看两个麦克风是不是都出现在列表里——如果有一个没显示,那大概率是驱动问题,Ubuntu 16.04对部分新硬件支持有限,后续可以尝试更新音频驱动。
第二步:用Pulseaudio配置多输入
Ubuntu 16.04默认用Pulseaudio管理音频,咱们可以通过它把两个麦克风合并成一个虚拟输入设备:
- 先运行
pactl list sources,这个命令会列出所有可用的输入源。确认两个麦克风对应的source条目都存在,状态是「RUNNING」或「IDLE」。 - 如果两个source都在,就可以创建组合设备:先记下两个source的名字(比如
alsa_input.usb-XXX和alsa_input.pci-XXX),然后在终端运行:pactl load-module module-combine-sink sink_name=combined_mics slaves=你的第一个source名,你的第二个source名 pactl load-module module-remap-source master=combined_mics.monitor source_name=merged_mic_input - 嫌命令行麻烦的话,装个图形化工具
pavucontrol:sudo apt-get install pavucontrol,打开后切换到「输入设备」标签,就能看到所有麦克风,还能调整音量、设置默认设备,甚至直接配置组合输入。
第三步:检查应用程序的输入设置
有时候系统层面没问题,但应用只选了一个麦克风:
- 打开你用来监测声音的应用,找到音频输入设置选项,看看能不能选择刚才创建的虚拟合并设备,或者有没有支持多输入的选项。如果应用本身不支持同时读取两个设备,那用第二步的虚拟合并设备就是最优解。
第四步:修复驱动或重启音频服务
Ubuntu 16.04版本偏老,偶尔会有音频驱动的小bug:
- 尝试重装音频相关包:
sudo apt-get update && sudo apt-get install --reinstall alsa-base pulseaudio - 重启Pulseaudio服务:
pulseaudio -k && pulseaudio --start,很多时候重启服务就能解决识别异常的问题。 - 如果是USB麦克风,还可以试试安装
usbmuxd:sudo apt-get install usbmuxd,确保USB音频设备能被正确识别。
内容的提问来源于stack exchange,提问作者Glenn Cameron
相关产品推荐
相关产品推荐

