解决方案:使用 pulseaudio
Win 服务端
下载
下载 Windows 上的 pulseaudio 作为服务端,下载完毕后解压到任意文件夹,假设是 C:\pulseaudio\
修改 etc\pulse\default.pa
Line 42 | |
---|
FROM | load-module module-waveout sink_name=output source_name=input |
TO | load-module module-waveout sink_name=output source_name=input record=0 |
请注意,出于安全和隐私考虑,Windows 10(2018年4月更新)似乎限制了对录音设备的访问。 您可能可以以某种方式改写此功能,但是由于我们只想听声音,我们只是通过添加’record = 0’从PulseAudio服务器禁用它。
Line 61 | |
---|
FROM | #load-module module-native-protocol-tcp |
TO | load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 |
这使得PulseAudio服务器能通过TCP从127.0.0.1接受连接。
修改 etc\pulse\daemon.conf
Line 39 | |
---|
FROM | ; exit-idle-time = 20 |
TO | exit-idle-time = -1 |
如果将此选项设置为非负值,则当最后一个客户端断开连接并且经过的时间超过此选项(以秒为单位)时,服务器将自动终止自身。
启动服务端
1
2
| cd C:\pulseaudio\bin
.\pulseaudio.exe
|
测试服务端
打开 PowerShell 执行
1
| .\paplay.exe -p --server=tcp:localhost C:\Windows\Media\ding.wav
|
WSL 客户端
安装
1
| sudo apt install pulseaudio
|
导出环境设置
1
| export PULSE_SERVER=tcp:127.0.0.1;
|