Package org.openni

# Class Recorder

java.lang.Object
org.openni.Recorder

public class Recorder extends Object
The Recorder class is used to record streams to an ONI file. After a recorder is instantiated, it must be initialized with a specific filename where the recording will be stored. The recorder is then attached to one or more streams. Once this is complete, the recorder can be told to start recording. The recorder will store every frame from every stream to the specified file. Later, this file can be used to initialize a file Device, and used to play back the same data that was recorded. Opening a file device is done by passing its path as the uri to the `Device.open(String)` method. `PlaybackControl` for options available to play a recorded file.

## Constructor Summary

Constructors
Constructor
Description
`Recorder()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addStream(VideoStream stream, boolean allowLossyCompression)`
Attaches a stream to the recorder.
`static Recorder`
`create(String fileName)`
Initializes a recorder.
`void`
`destroy()`
Destroys a recorder.
`long`
`getHandle()`
This function return recorded handle.
`void`
`start()`
Starts recording.
`void`
`stop()`
Stops recording.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Recorder

public Recorder()

## Method Details

### create

public static Recorder create(String fileName)
Initializes a recorder. You can initialize the recorder only once. Attempts to initialize more than once will result in an error code being returned. Initialization assigns the recorder to an output file that will be used for recording. Before use, the `addStream(VideoStream, boolean)` function must also be used to assign input data to the Recorder.

Parameters:
  `fileName` - The name of a file which will contain the recording.

### getHandle

public long getHandle()
This function return recorded handle.

Returns:
  OpenNI recorder handle.

### addStream

public void addStream(VideoStream stream, boolean allowLossyCompression)
Attaches a stream to the recorder. Note, this won't start recording, you should explicitly start it using `start()` method. As soon as the recording process has been started, no more streams can be attached to the recorder.

Parameters:
  `stream` - The stream to be recorded.
  `allowLossyCompression` - If this value is true, the recorder might use a lossy compression, which means that when the recording will be played-back, there might be small differences from the original frame. Default value is false.

### start

public void start()
Starts recording. Once this method is called, the recorder will take all subsequent frames from the attached streams and store them in the file. You may not add additional streams once recording was started.

### stop

public void stop()
Stops recording. You may use `start()` to resume the recording.

### destroy

public void destroy()
Destroys a recorder. This will also stop recording.