public void StopEncoding()
        {
            if (_clientAudioMixer != null)
            {
                _effectsOutputBuffer = null;

                _volumeSampleProvider = null;
                _clientAudioMixer.RemoveAllMixerInputs();
                _clientAudioMixer = null;
            }

            _clientsBufferedAudio.Clear();

            if (_waveIn != null)
            {
                _waveIn.StopRecording();
                _waveIn.Dispose();
                _waveIn = null;
            }

            if (_waveOut != null)
            {
                _waveOut.Stop();
                _waveOut.Dispose();
                _waveOut = null;
            }

            if (_micWaveOut != null)
            {
                _micWaveOut.Stop();
                _micWaveOut.Dispose();
                _micWaveOut = null;
            }

            if (_encoder != null)
            {
                _encoder.Dispose();
                _encoder = null;
            }

            if (_decoder != null)
            {
                _decoder.Dispose();
                _decoder = null;
            }
            if (_tcpVoiceHandler != null)
            {
                _tcpVoiceHandler.RequestStop();
                _tcpVoiceHandler = null;
            }

            _stop = true;

            SpeakerMax = 0;
            MicMax     = 0;

            MessageHub.Instance.ClearSubscriptions();
        }
Esempio n. 2
0
        public void StopEncoding()
        {
            _waveIn?.StopRecording();
            _waveIn?.Dispose();
            _waveIn = null;

            _waveOut?.Stop();
            _waveOut?.Dispose();
            _waveOut = null;

            _micWaveOut?.Stop();
            _micWaveOut?.Dispose();
            _micWaveOut = null;

            _volumeSampleProvider = null;
            _clientAudioMixer?.RemoveAllMixerInputs();
            _clientAudioMixer = null;

            _clientsBufferedAudio.Clear();

            _encoder?.Dispose();
            _encoder = null;

            _decoder?.Dispose();
            _decoder = null;

            _tcpVoiceHandler?.RequestStop();
            _tcpVoiceHandler = null;

            _speex?.Dispose();
            _speex = null;

            _stop = true;

            SpeakerMax = -100;
            MicMax     = -100;

            _effectsOutputBuffer = null;

            MessageHub.Instance.ClearSubscriptions();
        }