I last explored this in 2010, and there weren't any great solutions other than doing it yourself from first principles. Have things changed in 14 years?
I've got two empty pools and a few huge subs laying around...
It's crazy that it's 2024 and there isn't an ESP32 module which does this.
It isn't perfect and audio occasionally de-syncs or a speaker drops out. On a dedicated wireless channel playing a local source I imagine it would be pretty solid.
Not really an option if you don't have a Mac to run Airfoil, though if you do you can use the Satellite (https://rogueamoeba.com/airfoil/satellite/) program to sync Mac your other non-Apple devices to the host.