Windows的WSL音频解决方案

主要实现思路是使用pulseaudio进行音频转发,wsl-audio-musicbox项目主要是为了简化WSL与Windows之间通信转发的配置。

可以实现在WSL中使用musicbox播放歌曲(给个Star吧~~

项目依赖

  • 基于WSL2,WSL1未进行测试
  • 基于ubuntu1804,其他需要修改代码

原理

使用pulseaudio软件将音频数据信号转发到Windows上,本项目只是将繁杂的配置进行自动化处理,并可以实现开机自启动

使用

  1. Windows下安装pulseaudio软件

  2. 下载或clone本项目,将auto、etc目录移动或覆盖到pulseaudio的根目录下

  3. 启动WSL,安装pulseaudio: sudo apt install pulseaudio,如果没有php环境,执行sudo apt install php-cli进行安装。确保/etc/wsl.conf中有配置项generateResolvConf = true(如果没有,需要添加上,并重启电脑

  4. Windows回到pulseaudio根目录,手动运行auto目录下的start.bat,出现成功表明一切顺利。(如果你在WSL中使用的不是zsh,则需要打开auto/start.bat文件,将ubuntu1804.exe run "./start.php echo ~/.zshrc && source ~/.zshrc"中的~/.zshrc修改为你正在使用的环境变量文件,例如~/.bashrc

  5. 关闭WSL并重新打开,运行paplay -p /mnt/c/Windows/Media/Alarm04.wav,如果有美妙的声音播放出来,恭喜你,音频转发成功了!!

  6. 如果你不想每次开机都手动执行一次start.bat,可以打开auto/start.vbs文件,将其中的.\start.bat替换为你电脑start.bat文件的绝对路径,并将start.vbs移动到Windows的自启动目录下(win+R运行shell:startup即可打开该目录)。重启试试看吧~

使用musicbox

只需要根据musicbox项目的Linux系统安装指引进行安装即可~~

musicbox