解决 wsl2/WSLg 声音卡顿不连续问题
解决 wsl2/WSLg 声音卡顿不连续问题
- 我的 windows 上默认的 WSLg 声音断断续续, 这里改用 PulseAudio 来替代其声音播放
- Linux 端设置
vi ~/.profile
# 增加一行:
export PULSE_SERVER=tcp:172.22.80.1
# IP 为 windows 端的IP
- windows 端设置
1. 修改/etc/pulse/daemon.conf 文件中:
exit-idle-time = -1
# 空闲时也不退出服务
2. 修改\etc\pulse\default.pa 文件中:
load-module module-waveout sink_name=output source_name=input record=0
# record=0 不开启麦克风; record=1 开启麦克风
load-module module-native-protocol-tcp auth-anonymous=1
# auth-anonymous=1: 允许匿名连接
在 windows 端 cmd 中启动 bin\pulseaudio.exe 服务器, 即可在 WSLg 应用中流畅播放声音了.
正常连接 pulseaudio 服务器后, 使用命令检查, 显示结果如下:
$ pactl list sinks
Sink #0
State: IDLE # 如正在播放声音, 这里会显示为 RUNNING
Name: output
Description: WaveOut on Microsoft Sound Mapper
Driver: modules/module-waveout.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 4
Mute: no
Volume: front-left: 65536 / 100%, front-right: 65536 / 100%
balance 0.00
Base Volume: 65536 / 100%
Monitor Source: output.monitor
Latency: 214081 usec, configured 250000 usec
Flags: HARDWARE HW_VOLUME_CTRL LATENCY
Properties:
device.icon_name = "audio-card"
device.description = "WaveOut on Microsoft Sound Mapper"
Formats:
pcm