public Recorder(string filename, Dispatcher dispatcher) { if (!sensor.IsOpen) { sensor.Open(); } if (sensor.IsOpen) { bodyReader = sensor.BodyFrameSource.OpenReader(); colorReader = sensor.OpenMultiSourceFrameReader(FrameSourceTypes.Body | FrameSourceTypes.Depth | FrameSourceTypes.Color); logger.Trace("Kinect sensor is open"); } else { logger.Error("Kinect sensor is not open"); } metadata = MetadataFactory.Create(); fileStream = new FileStream(filename, FileMode.Create); AppendMessageToFileStream(metadata.Serialize()); this.dispatcher = dispatcher; }
public RecordReader(string filename) { fileStream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read); var schema = new MessageSchema(); schema.Register(MessageIds.Metadata, MetadataMsg.GetRootAsMetadata); schema.Register(MessageIds.BodyFrameData, BodyFrameDataMsg.GetRootAsBodyFrameData); messages = new MessageQueue(schema); metadata = ReadNextMessage() as Metadata; if (metadata == null) throw new InvalidDataException(Resources.IllegalRecordDataFormat); }