示例#1
0
        /// <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();
            }
        }
示例#2
0
 /// <summary>
 /// 初始化FFT数据
 /// </summary>
 private void InitFFTCalculator()
 {
     if (m_fftCalculator != null)
     {
         m_fftCalculator.Dispose();
     }
     m_fftCalculator = new RealtimeFFTCalculator(m_iFFTCalcIntervalMs,
                                                 _samplingFrequency, m_iFFTWindowLength, 2);
 }
示例#3
0
        /// <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();
            }
        }