private static int getBassIntensity(FFTData fftData) { int bassIntensity = 0; for (int i = 8; i < 48; i++) { bassIntensity += fftData.LeftAmplitude[i] * fftData.RightAmplitude[i]; } return(bassIntensity); }
public void StartLibZPlay() { _stopPlayer = false; // open file var fileName = "wavein://src=microphone;volume=50;"; // @"C:\Users\david_000\Music\my best remixes\10 vibromatic.mp3"; FixedSizedQueue <FFTData> fftDatas = new FixedSizedQueue <FFTData>(); fftDatas.Limit = 5000; if (!_player.OpenFile(fileName, TStreamFormat.sfAutodetect)) { return; } _player.StartPlayback(); Pause(); while (_continue && !_stopPlayer) { FFTData fftData = new FFTData(); _player.GetFFTData(512, TFFTWindow.fwRectangular, ref fftData.HarmonicNumber, ref fftData.HarmonicFreq, ref fftData.LeftAmplitude, ref fftData.RightAmplitude, ref fftData.LeftPhase, ref fftData.RightPhase); fftDatas.Enqueue(fftData); if (change(fftDatas)) { _display = true; } System.Threading.Thread.Sleep(1); } _player.Close(); if (_continue) { StartLibZPlay(); } }