/// <summary> /// 停止模拟 释放资源 /// </summary> public void Dispose() { if (audioInput1.Input.IsInputEnabled == true) { audioInput1.Input.StopRequest(); } else { gridChart.Children.Clear(); DisposeWaveformMonitors(); DisposeSpectrograms(); if (m_fftCalculator != null) { m_fftCalculator.Dispose(); m_fftCalculator = null; } // Disposing of unmanaged resources done. //base.DisposedOf(); } }
/// <summary> /// 初始化FFT数据 /// </summary> private void InitFFTCalculator() { if (m_fftCalculator != null) { m_fftCalculator.Dispose(); } m_fftCalculator = new RealtimeFFTCalculator(m_iFFTCalcIntervalMs, _samplingFrequency, m_iFFTWindowLength, 2); }
/// <summary> /// 停止模拟 释放资源 /// </summary> public void Dispose() { _cleanUp = true; if (audioInput1.Input.IsInputEnabled == true) { audioInput1.Input.StopRequest(); } else { gridChart.Children.Clear(); if (m_aWaveformMonitors != null) { foreach (WaveformMonitor wm in m_aWaveformMonitors) { wm.Dispose(); } m_aWaveformMonitors = null; } if (m_aSpectrograms2D != null) { foreach (SpectrogramViewXYIntensity spectrogram2D in m_aSpectrograms2D) { spectrogram2D.Dispose(); } m_aSpectrograms2D = null; } if (m_fftCalculator != null) { m_fftCalculator.Dispose(); m_fftCalculator = null; } // Disposing of unmanaged resources done. //base.DisposedOf(); } }