public static void Update() { ALDevice.Update(); for (int i = 0; i < InstancePool.Count; i += 1) { if (InstancePool[i].State == SoundState.Stopped) { InstancePool[i].Dispose(); InstancePool.RemoveAt(i); i -= 1; } } for (int i = 0; i < DynamicInstancePool.Count; i += 1) { DynamicSoundEffectInstance sfi = DynamicInstancePool[i]; sfi.Update(); if (sfi.State == SoundState.Stopped) { i -= 1; } } foreach (Microphone mic in ActiveMics) { mic.CheckBuffer(); } }