コード例 #1
0
        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;
        }
コード例 #2
0
        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);
        }