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 ); kinectRecorder = new KinectRecorder(options, recordingStream); kinectRecorder.Start(); Status = Service.RecordingManagerStatus.Recording; OnRecordingStatusChanged(new RecordingStatusChangedEventArg(fileId)); }
public void StopReplaying() { if (null != kinectReplay && kinectReplay.Started) { kinectReplay.Dispose(); } Status = Service.RecordingManagerStatus.Standby; }
public void StartReplaying(string fileId) { StopRecording(); if (null != kinectReplay && kinectReplay.Started) { kinectReplay.Dispose(); } if (null != SkeletonEventListener) { foreach (EventHandler<ReplaySkeletonFrameReadyEventArgs> eventHandler in SkeletonEventListener) { kinectReplay.SkeletonFrameReady -= eventHandler; } } if (null != ColorEventListener) { foreach (EventHandler<ReplayColorImageFrameReadyEventArgs> eventHandler in ColorEventListener) { kinectReplay.ColorImageFrameReady -= eventHandler; } } replayStream = new FileStream( filesUsed[fileId], FileMode.Open, FileAccess.Read ); kinectReplay = new KinectReplay(replayStream); if (null != SkeletonEventListener) { foreach (EventHandler<ReplaySkeletonFrameReadyEventArgs> eventHandler in SkeletonEventListener) { kinectReplay.SkeletonFrameReady += eventHandler; } } if (null != ColorEventListener) { foreach (EventHandler<ReplayColorImageFrameReadyEventArgs> eventHandler in ColorEventListener) { kinectReplay.ColorImageFrameReady += eventHandler; } } kinectReplay.Start(); Status = Service.RecordingManagerStatus.Replaying; }
public void StopRecording() { if (null != kinectRecorder && kinectRecorder.IsRecording) { kinectRecorder.Stop(); } if (null != recordingStream) { recordingStream.Close(); recordingStream.Dispose(); recordingStream = null; } Status = Service.RecordingManagerStatus.Standby; }
public void RestartReplay() { if (null != kinectReplay && null != replayStream) { replayStream.Position = 0; kinectReplay.Stop(); kinectReplay.Start(); } Status = Service.RecordingManagerStatus.Replaying; }