public void Close()
        {
            if (CurrentCaptureProvider == null)
            {
                return;
            }

            CurrentCaptureProvider.SamplesAvailable -= OnSamplesAvailable;
            if (CurrentCaptureProvider.IsCapturing)
            {
                CurrentCaptureProvider.EndCapture();
            }
        }
        public void UpdateSettings()
        {
            Settings.VoiceProvider = (CurrentCaptureProvider != null)
                                ? CurrentCaptureProvider.GetType().GetSimpleName()
                                : null;

            Settings.VoiceDevice = (CurrentCaptureDevice != null)
                                ? CurrentCaptureDevice.Device.Name
                                : null;

            Settings.VoiceActivationLevel             = VoiceActivationThreshold;
            Settings.VoiceActivationContinueThreshold = VoiceActivationSilenceThreshold * 100;
            Settings.UsePushToTalk = !UseVoiceActivation;
        }