private void DisposeProvider() { DisposeSource(); if (_provider != null) { _provider.Dispose(); _provider = null; } }
public virtual void Dispose() { if (_owner != null) { _owner._buffers.Remove(this); _owner = null; } GC.SuppressFinalize(this); }
protected override void OnShown(EventArgs e) { if (_provider == null) { _provider = AudioProvider.Create(null); if (_provider != null) { _provider.Attach(this); } else { btnPlay.Enabled = false; } } if (_initialStream != null) { LoadAudio("Internal audio"); btnBrowse.Visible = false; } else if (_audioSource == null) { if (!LoadAudio()) { Close(); return; } } else if (!LoadAudio(_audioSource)) { Close(); return; } base.OnShown(e); }