public override void Dispose() { disposeChilderen(); if (com != null) { com.Dispose(); com = null; } base.Dispose(); }
public Audio(IDisposableResource parent) : base(parent) { try { com = new AudioCom(); var error = com.Init(); switch (error) { case AudioErrors.XAudio2: Debug.ThrowError("Audio", "Failed to create XAudio2"); break; case AudioErrors.MasteringVoice: Debug.ThrowError("Audio", "Failed to create MasteringVoice"); break; } } catch (Exception e) { Dispose(); throw e; } }