前言
接上一篇,在将USB麦克风接入WSL2后,就想尝试进行录音的操作了。但尝试了之后发现 WSL2 当中缺少音频驱动。
原因
WSL2使用的是微软定制的Linux内核,为了保持轻量级,默认不包含许多硬件驱动,包括音频驱动。即使通过usbipd成功共享了USB设备,WSL2也无法加载必要的音频驱动模块来使用这些设备。
解决方法
使用WSLg的音频重定向
较新版本的WSL2引入了WSLg,它提供了音频重定向功能,无需额外配置即可使用Windows的音频设备:
- 确保WSL2版本足够新:
wsl --version
如果版本低于1.0.0,请更新WSL2:
# 在Windows PowerShell中运行
wsl --update
- 安装必要的音频工具:
sudo apt-get update
sudo apt-get install -y pulseaudio alsa-utils
- 配置PulseAudio使用WSLg的音频服务:
# 创建或编辑PulseAudio配置文件
mkdir -p ~/.config/pulse
echo "default-server = unix:/mnt/wslg/PulseServer" > ~/.config/pulse/client.conf
- 测试音频重定向:
# 安装一个简单的音频测试工具
sudo apt-get install -y sox
# 测试录音
rec test.wav
之后应该就可以正常的在WSL2当中使用麦克风设备了