public void Dispose() { lock (_object0) { if (_thread0 != null) { try { _bool0 = true; if (_intptr0 != IntPtr.Zero) { Class162.waveOutReset(_intptr0); } _thread0.Join(); _delegate30 = null; method_8(); if (_intptr0 != IntPtr.Zero) { var @class = new Class161(); @class.Class1590 = this; @class.Intptr0 = _intptr0; ThreadPool.QueueUserWorkItem(@class.method_0); } } finally { _thread0 = null; _intptr0 = IntPtr.Zero; } } } GC.SuppressFinalize(this); }
public void StopPlaying() { if (Thread.CurrentThread.ManagedThreadId != _thread0.ManagedThreadId) { lock (_queue1) { _queue1.Enqueue(new Class164(Enum19.Const1, null)); _autoResetEvent0.Set(); } return; } _enum10 = AudioStatus.ShouldStopAudio; _bool0 = false; Enum18 @enum; lock (_object0) { @enum = Class162.waveOutReset(_intptr0); } if (@enum != Enum18.Const0) { throw new Exception4(@enum, "waveOutReset"); } _stopwatch0.Reset(); }