예제 #1
0
        private void StopRecordingButton_Click(object sender, RoutedEventArgs e)
        {
            if (_recordingStarted)
            {
                _recordingStarted = false;

                _depthVideoWriter.Stop();

                btnRestartKinect.IsEnabled        = true;
                btnRewindPageNavigation.IsEnabled = true;
                btnStopRecording.IsEnabled        = false;
                btnStartRecording.IsEnabled       = true;

                if (_recordedBodyFrames.Any())
                {
                    try
                    {
                        string    csvPath  = generator.FolderPathName + "/" + generator.FileNameBase + ".csv";
                        CSVWriter csvSaver = new CSVWriter();
                        csvSaver.SaveSkeletonFrames(_recordedBodyFrames, csvPath);
                    }
                    catch (Exception ex)
                    {
                        //log exception
                    }

                    try
                    {
                        string xmlFileName = generator.FolderPathName + "/" + generator.FileNameBase + ".xml";
                        DiskIOManager.Instance.SerializeToXML(_recordedBodyFrames, xmlFileName);
                    }
                    catch (Exception ex)
                    {
                        //log exception
                    }

                    //reset recorded frames
                    _recordedBodyFrames = new List <BodyFrameWrapper>();

                    Logger.Instance.LogMessage("XML&CSV saved in: " + generator.FolderPathName + " as " + generator.FileNameBase);
                }

                cbxCameraType.IsEnabled = true;
            }
        }