예제 #1
0
        public void Initialize()
        {
            string fakeFile = _fileLocation + Guid.NewGuid().ToString();

            _recordingStream = new FileStream(fakeFile, FileMode.OpenOrCreate);
            KinectRecorder   = new KinectRecorder(0, _recordingStream);

            _replayStream = new FileStream(fakeFile + "1", FileMode.OpenOrCreate);
            KinectReplay  = new KinectReplay(_replayStream);

            _dataOutStream = new FileStream(fakeFile + "2", FileMode.OpenOrCreate);
            DataRecorder   = new PostProcessedRecorder(_dataOutStream);
        }
예제 #2
0
        private void StartRecording(KinectRecordOptions options)
        {
            StopReplaying();
            StopRecording();

            string fileId = Guid.NewGuid().ToString();

            FilesUsed.Add(fileId, _fileLocation + fileId);

            if (null != KinectRecorder && KinectRecorder.IsRecording)
            {
                KinectRecorder.Stop();
            }

            _recordingStream = new FileStream(
                FilesUsed[fileId],
                FileMode.OpenOrCreate
                );

            if (null != DataRecorder && DataRecorder.IsRecording)
            {
                DataRecorder.Stop();
            }

            _dataOutStream = new FileStream(
                FilesUsed[fileId] + "_data",
                FileMode.OpenOrCreate
                );

            KinectRecorder = new KinectRecorder(options, _recordingStream);
            KinectRecorder.Start();

            DataRecorder = new PostProcessedRecorder(_dataOutStream);
            DataRecorder.Start();

            Status = Service.RecordingManagerStatus.Recording;
            OnRecordingStatusChanged(new RecordingStatusChangedEventArg(fileId));
        }