private void DisposeCore() { if (x3DAudio != null) { x3DAudio = null; } if (ReverbVoice != null) { ReverbVoice.DestroyVoice(); ReverbVoice.Dispose(); ReverbVoice = null; reverb.Dispose(); reverb = null; } IsReverbEffectEnabled = false; if (MasteringVoice != null) { MasteringVoice.DestroyVoice(); MasteringVoice.Dispose(); MasteringVoice = null; } if (masteringLimiter != null) { masteringLimiter.Dispose(); masteringLimiter = null; } IsMasteringLimiterEnabled = false; if (Device != null) { Device.StopEngine(); Device.Dispose(); Device = null; } }