/// <summary> /// Cancels recording. /// Invokes "VoiceRecorderStopped" to other application's modules. /// </summary> public void CancelVoiceRecording() { try { _recorder.Cancel(); // prepare-unpreapare required to make the Recorder work after cancel. _recorder.Unprepare(); _recorder.Prepare(); } catch (Exception exception) { ErrorHandler(exception.Message); return; } VoiceRecorderStopped?.Invoke(this, new EventArgs()); }
/// <summary> /// Stops recording. /// Saves the file. /// Invokes "VoiceRecorderStopped" to other application's modules. /// </summary> public void StopVoiceRecording() { try { _recorder.Commit(); using (var databaseConnector = new DatabaseConnector()) { databaseConnector.ErrorOccurred += OnDatabaseError; databaseConnector.UpdateDatabase(); } RecordingSaved?.Invoke(this, Path.GetFileName(_recordingPath)); VoiceRecorderStopped?.Invoke(this, new EventArgs()); } catch (Exception exception) { ErrorHandler(exception.Message); } }
/// <summary> /// Restarts the recorder. /// Invokes "VoiceRecorderStopped" to other application's modules. /// </summary> public void Restart() { try { if (_recorder.State == RecorderState.Recording) { _recorder.Cancel(); } _recorder = new AudioRecorder(_recorder.AudioCodec, _recorder.FileFormat) { AudioBitRate = _recorder.AudioBitRate, AudioChannels = _recorder.AudioChannels }; _recorder.Prepare(); } catch (Exception exception) { ErrorHandler(exception.Message); return; } VoiceRecorderStopped?.Invoke(this, new EventArgs()); }
/// <summary> /// Handles "VoiceRecorderStopped" of the IVoiceRecorderService object. /// Invokes "VoiceRecorderStopped" to other application's modules. /// </summary> /// <param name="sender">Instance of the VoiceRecorderService class.</param> /// <param name="e">Contains event data.</param> private void VoiceRecorderStoppedEventHandler(object sender, EventArgs e) { VoiceRecorderStopped?.Invoke(this, new EventArgs()); }