refreshPoolsAudioContext method
Rebuild all pools so they inherit the channel’s current
AudioContext. Useful after calling setAudioContext(...) at runtime.
Recreates each pool with its original source, preserving each pool’s
minPlayers/maxPlayers as previously created.
Implementation
Future<void> refreshPoolsAudioContext() async {
if (_pools.isEmpty) return;
final entries = _pools.entries.toList();
_pools.clear();
for (final e in entries) {
final old = e.value;
final source = old.source; // exposed by your AudioPool
final maxPlayers = old.maxPlayers;
final minPlayers = old.minPlayers;
await old.dispose();
final rebuilt = await AudioPool.create(
source: source,
maxPlayers: maxPlayers,
minPlayers: minPlayers,
audioContext: currentAudioContext,
);
_pools[e.key] = rebuilt;
}
}