Linux 设置默认麦克风以及音频输出
最近在想办法医治我的拖延症,于是从各种出现的小问题开始解决。因为我其中一台笔记本在飞书开会的时候经常会出现默认麦克风无法使用的情况,经常需要调整,不说很大的问题,但是也是一个小问题。
没有使用 PulseAudio 作为我的音频服务器,如果是想查看 PulseAudio 的设置方法,参考 Arch Wiki。
通过 PipeWire 设置默认麦克风。最开始我参考 Arch Wiki
中的内容,使用 arecord -L
查看所有设备:
1 | arecord -L |
输出:
1 | null |
才发现默认麦克风由 PipeWire 控制。所以直接配置 PipeWire 来选择默认的录音设备,不修改 ~/.asoundrc
。
查看麦克风设备:
1 | pactl list short sources |
输出:
1 | 48 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor PipeWire s24-32le 2ch 48000Hz SUSPENDED |
所以到底哪一个是有效的麦克风呢?我并没有去往下查找这些麦克风命名的规范以及各种信息,可以看到最右边的输出是 SUSPENDED,所以可以通过开启麦克风来进行测试(我也不知道为什么使用 arecord 命令麦克风会正常工作,或许是全遍历一边吧):
1 | arecord -vv --format=dat /dev/null |
这时,就可以发现处于 RUNNING 的麦克风设备是可以正常工作的了,选择设备名称,设置为默认麦克风:
1 | pactl set-default-source <source-name> |
验证一下:
1 | pactl info | grep "Default Source" |
好,现在飞书会议麦克风设置成系统默认也可以正常工作了。
音频输出方面是因为笔记本每次插上 HDMI 之后都会错误都会错误切换到HDMI那边,然而显示器并没有这个功能。
同样列出可用的输出设备(Sinks):
1 | pactl list sinks |
或者:
1 | pactl list sinks |
找到能出声的输出设备,把它设置成默认输出设备:
1 | pactl set-default-sink alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink |
参考:
Author: xun
Link: http://blog.fooo.in/2024/07/24/linux/linux-setting-the-default-microphone/
License:
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。