/// <summary> /// Stop recording /// </summary> /// <param name="fadeOut">true - fade out the recording instead of stopping immediately</param> public void Stop(bool fadeOut) { if (_recordingStatus == RecordingStatus.Recording) { OnRecordingStatusChangeEvent(new RecordingStatusChangeEventArgs(RecordingStatus.StopRequested)); if (fadeOut) { _fader.Start(); } else { _waveSource.StopRecording(); } } }
/// <summary> /// Stop recording. /// </summary> /// <param name="fadeOut">true - fade out the recording instead of stopping immediately.</param> public void Stop(bool fadeOut) { if (_recordingStatus == RecordingStatus.Recording) { OnRecordingStatusChangeEvent(new RecordingStatusChangeEventArgs(RecordingStatus.StopRequested) { TempRecordingPath = _tempRecordingFilePath, FinalRecordingPath = _finalRecordingFilePath, }); if (fadeOut) { _fader?.Start(); } else { _waveSource?.StopRecording(); _silenceWaveOut?.Stop(); } } }