wsl和ubuntu更新
wsl 感觉隔了一两年变得好用了很多啊,下面直接上命令行
wsl update
更新wsl
wsl --install -d Ubuntu-20.04
安装指定版本,-d是distribution的意思
wsl --unregister Ubuntu-20.04
进入wsl后
sudo apt update && sudo apt upgrade -y
先更新
pulseautio安装,麦克风和声卡检查
sudo apt install pulseaudio-utils
重点,这个工具是pulseaudio的客户端,几年前还需要在windows上面安装pulseaudio,但现在WSLg已经集成了, 所以只需要在wsl里面安装客户端就好.
pactl list sinks short
查看麦克风设备
pactl list sources short
查看声卡设备
kato@jmjpc:~$ pactl list sinks short
1 RDPSink module-rdp-sink.c s16le 2ch 44100Hz SUSPENDED
kato@jmjpc:~$ pactl list sources short
1 RDPSink.monitor module-rdp-sink.c s16le 2ch 44100Hz SUSPENDED
2 RDPSource module-rdp-source.c s16le 1ch 44100Hz SUSPENDED
这查看输入和输出。在 WSL 环境中,你实际上是通过 WSLg 和 RDP 协议使用 Windows 主机的音频设备。short让输出变得简洁。
pactl suspend-source 2 0
选择RDPSource (ID: 2), 单声道, 适合语音录制. 另一个适合录制系统音频...
pactl set-default-source 2
让它变成默认的.
正式测试,录音+播放
parecord --file-format=wav test_recording.wav
按ctrl+c结束录制
paplay test_recording.wav
播放
补充, 播放mp3格式
sudo apt install mpg123
pactl suspend-sink 1 0 # 确保 PulseAudio 输出设备已激活
mpg123 -o pulse your_music.mp3 # 使用 mpg123 通过 PulseAudio 播放 MP3
关于pactl suspend-sink/source ID STATUS
的含义, ID(1/2)表示ID, STATUS(0/1)0表示取消暂停或者表示开启,1表示暂停或关闭.
paplay pactl parecord里面的pa表示pauseaudio
特性 | 传统 Linux | WSL |
---|---|---|
声卡访问 | 直接访问物理声卡 | 通过 WSLg/RDP 间接访问 |
设备名称 | 显示实际硬件名称 | 显示为通用 RDP 设备 |
音频延迟 | 通常较低 | 可能略高(因为有额外层) |
配置方式 | 可能需要配置 ALSA/驱动 | 只需 PulseAudio 工具 |