public void Dispose() { // Thread-safe single disposal if (Interlocked.Exchange(ref _disposed, (IntPtr)1) != IntPtr.Zero) { return; } Running = false; OnStreamUpdate -= audioplugin.OnStreamUpdate; OnStreamOver -= audioplugin.OnStreamOver; audioplugin.Dispose(); audioplugin = null; OnMessageLogged = null; }
public Radio(string Url) { this.Url = Url; audioplugin = new AudioPlugin(); }