public void Start() { if (_state != RecorderState.Unknown) { throw new InvalidOperationException("A recording is already in progress."); } if (_capture.StartCapture()) { _state = RecorderState.Recording; _timer.Start(); _isCapturing = true; } }