JUCE
|
Controls any video capture devices that might be available. More...
Classes | |
class | Listener |
Receives callbacks with images from a CameraDevice. More... | |
Public Member Functions | |
virtual | ~CameraDevice () |
Destructor. More... | |
const String & | getName () const noexcept |
Returns the name of this device. More... | |
Component * | createViewerComponent () |
Creates a component that can be used to display a preview of the video from this camera. More... | |
void | startRecordingToFile (const File &file, int quality=2) |
Starts recording video to the specified file. More... | |
void | stopRecording () |
Stops recording, after a call to startRecordingToFile(). More... | |
Time | getTimeOfFirstRecordedFrame () const |
After calling stopRecording(), this method can be called to return the timestamp of the first frame that was written to the file. More... | |
void | addListener (Listener *listenerToAdd) |
Adds a listener to receive images from the camera. More... | |
void | removeListener (Listener *listenerToRemove) |
Removes a listener that was previously added with addListener(). More... | |
Static Public Member Functions | |
static StringArray | getAvailableDevices () |
Returns a list of the available cameras on this machine. More... | |
static CameraDevice * | openDevice (int deviceIndex, int minWidth=128, int minHeight=64, int maxWidth=1024, int maxHeight=768) |
Opens a camera device. More... | |
static String | getFileExtension () |
Returns the file extension that should be used for the files that you pass to startRecordingToFile(). More... | |
Controls any video capture devices that might be available.
Use getAvailableDevices() to list the devices that are attached to the system, then call openDevice to open one for use. Once you have a CameraDevice object, you can get a viewer component from it, and use its methods to stream to a file or capture still-frames.
|
virtual |
Destructor.
|
static |
Returns a list of the available cameras on this machine.
You can open one of these devices by calling openDevice().
|
static |
Opens a camera device.
The index parameter indicates which of the items returned by getAvailableDevices() to open.
The size constraints allow the method to choose between different resolutions if the camera supports this. If the resolution cam't be specified (e.g. on the Mac) then these will be ignored.
|
noexcept |
Returns the name of this device.
Component* CameraDevice::createViewerComponent | ( | ) |
Creates a component that can be used to display a preview of the video from this camera.
void CameraDevice::startRecordingToFile | ( | const File & | file, |
int | quality = 2 |
||
) |
Starts recording video to the specified file.
You should use getFileExtension() to find out the correct extension to use for your filename.
If the file exists, it will be deleted before the recording starts.
This method may not start recording instantly, so if you need to know the exact time at which the file begins, you can call getTimeOfFirstRecordedFrame() after the recording has finished.
The quality parameter can be 0, 1, or 2, to indicate low, medium, or high. It may or may not be used, depending on the driver.
void CameraDevice::stopRecording | ( | ) |
Stops recording, after a call to startRecordingToFile().
|
static |
Returns the file extension that should be used for the files that you pass to startRecordingToFile().
This may be platform-specific, e.g. ".mov" or ".avi".
Time CameraDevice::getTimeOfFirstRecordedFrame | ( | ) | const |
After calling stopRecording(), this method can be called to return the timestamp of the first frame that was written to the file.
void CameraDevice::addListener | ( | Listener * | listenerToAdd | ) |
Adds a listener to receive images from the camera.
Be very careful not to delete the listener without first removing it by calling removeListener().
void CameraDevice::removeListener | ( | Listener * | listenerToRemove | ) |
Removes a listener that was previously added with addListener().