internal void Disconnect() { if (this.waveOutWindow != null) { this.waveOutWindow.Close(); this.waveOutWindow = null; } if (this.waveOutWindowNative != null) { this.waveOutWindowNative.ReleaseHandle(); this.waveOutWindowNative = null; } }
internal void Connect(WaveInterop.WaveCallback callback) { if (this.Strategy == WaveCallbackStrategy.NewWindow) { this.waveOutWindow = new WaveWindow(callback); this.waveOutWindow.CreateControl(); this.Handle = this.waveOutWindow.Handle; return; } if (this.Strategy == WaveCallbackStrategy.ExistingWindow) { this.waveOutWindowNative = new WaveWindowNative(callback); this.waveOutWindowNative.AssignHandle(this.Handle); } }