public WasapiAudio(WasapiCaptureType captureType, int spectrumSize, ScalingStrategy scalingStrategy, int minFrequency, int maxFrequency, WasapiAudioFilter[] filters, Action <float[]> receiveAudio) { _captureType = captureType; _spectrumSize = spectrumSize; _scalingStrategy = scalingStrategy; _minFrequency = minFrequency; _maxFrequency = maxFrequency; _filters = filters; _receiveAudio = receiveAudio; }
private void CheckCaptureParams() { bool freqChanged = newMinFreq != minFreq || newMaxFreq != maxFreq; bool scalingChanged = labelToScaling[scalingModeSelection.Selected] != scalingMode; bool deviceChanged = labelToCapture[captureModeSelection.Selected] != captureMode; bool smoothingChanged = newSmoothing != smoothingIterations; if (freqChanged) { minFreq = newMinFreq; maxFreq = newMaxFreq; } if (scalingChanged) { scalingMode = labelToScaling[scalingModeSelection.Selected]; } if (deviceChanged) { captureMode = labelToCapture[captureModeSelection.Selected]; } if (freqChanged || scalingChanged || deviceChanged) { if (wasapiAudio != null && capturing) { wasapiAudio.StopListen(); } InitializeWasapiCapture(); if (capturing) { wasapiAudio.StartListen(); } } if (smoothingChanged) { smoothingIterations = newSmoothing; InitializeSmoother(); } }