Example #1
0
        private void CloseAudioSource()
        {
            logger.Debug("CloseAudioSource()");

            capturing = false;
            if (audioSource != null)
            {
                audioSource.CaptureStarted -= AudioSource_CaptureStarted;
                audioSource.CaptureStopped -= AudioSource_CaptureStopped;
                audioSource.DataAvailable  -= AudioSource_DataAvailable;

                audioSource.Close(true);
                audioSource = null;
            }
        }
        private void SetupAudioSource(AudioStreamSettings settings)
        {
            logger.Debug("SetupAudioSource(...)");
            try
            {
                audioSource = new AudioSource();
                var deviceId                = settings.CaptureParams.DeviceId;
                var eventSyncMode           = true;
                var audioBufferMilliseconds = 50;
                var exclusiveMode           = false;
                audioSource.Setup(deviceId, eventSyncMode, audioBufferMilliseconds, exclusiveMode);
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                if (audioSource != null)
                {
                    audioSource.Close();
                    audioSource = null;
                }

                throw;
            }
        }