public AudioCapture(ILogger logger, MMDevice device, MmDeviceType type) { Logger = logger; Device = device; Type = type; DesiredAverage = 0.75; _volumeValues = new double[5]; _volumeIndex = 0; _disableTimer = new Timer(1000); _disableTimer.Elapsed += CheckStop; _volumeTimer = new Timer(200); _volumeTimer.Elapsed += VolumeTimerOnElapsed; }
public AudioCapture GetAudioCapture(MMDevice device, MmDeviceType type) { // Return existing audio capture if found var audioCapture = _audioCaptures.FirstOrDefault(a => a.Device.DeviceID == device.DeviceID); if (audioCapture != null) { return(audioCapture); } // Else create a new one and return that var newAudioCapture = new AudioCapture(Logger, device, type); _audioCaptures.Add(newAudioCapture); return(newAudioCapture); }