- Install cygwin - include pulseaudio
- Configure
/etc/pulse/*
as required for use case (load-module module-native-protocol-tcp
for example) - Copy auth cookie to
/home/SYSTEM/.config/pulse/cookie
- Open PulseAudio port (4713) in Windows Firewall as appropriate (local network, for example)
- Create vbs scripts to prevent window from appearing:
- pulseaudio-on.vbs:
Dim WShell
Set WShell = CreateObject("WScript.Shell")
WShell.Run """C:\Program Files\cygwin64\bin\pulseaudio.exe"" --realtime --no-cpu-limit --disallow-exit=on --exit-idle-time=999999999999 --daemonize", 0
Set WShell = Nothing
- pulseaudio-off.vbs:
Dim WShell
Set WShell = CreateObject("WScript.Shell")
WShell.Run """C:\Program Files\cygwin64\bin\pulseaudio.exe"" -k", 0
Set WShell = Nothing
- Create tasks in Task Manager
- Create logon task that runs
wscript pulseaudio-on.vbs
- Create logoff task (Log: Security, Event ID 4647) that runs
wscript pulseaudio-off.vbs
- Create logon task that runs
- Test!