public void StopMusic() { for (int i = 0; i < 2; i++) { if (_currentMusic[i] != null) { _currentMusic[i].Stop(); _currentMusic[i].Dispose(); _currentMusic[i] = null; } } //NOTE: Also discard sounds foreach (var sound in _current_sounds) { if (sound != null) { sound.Stop(); sound.Dispose(); } } _current_sounds.Clear(); DynamicSoundEffectInstance.DisposePool(); }