MeeGo 1.2 Harmattan Developer Documentation Develop for the Nokia N9

QCameraImageCapture Class Reference

The QCameraImageCapture class is used for the recording of media content. More...

 #include <QCameraImageCapture>

Inherits: QObject and QMediaBindableInterface.

This class was introduced in Qt Mobility 1.1.

Public Types

enum CaptureDestination { CaptureToFile, CaptureToBuffer }
flags CaptureDestinations
enum DriveMode { SingleImageCapture }
enum Error { NoError, NotReadyError, ResourceError, NotSupportedFeatureError, FormatError, OutOfSpaceError }

Properties

  • 1 property inherited from QObject

Public Functions

QCameraImageCapture ( QMediaObject * mediaObject, QObject * parent = 0 )
~QCameraImageCapture ()
QtMultimediaKit::AvailabilityError availabilityError () const
QVideoFrame::PixelFormat bufferFormat () const
CaptureDestinations captureDestination () const
QImageEncoderSettings encodingSettings () const
Error error () const
QString errorString () const
QString imageCodecDescription ( const QString & codec ) const
bool isAvailable () const
bool isCaptureDestinationSupported ( CaptureDestinations destination ) const
bool isReadyForCapture () const
void setBufferFormat ( QVideoFrame::PixelFormat format )
void setCaptureDestination ( CaptureDestinations destination )
void setEncodingSettings ( const QImageEncoderSettings & settings )
QList<QVideoFrame::PixelFormat> supportedBufferFormats () const
QStringList supportedImageCodecs () const
QList<QSize> supportedResolutions ( const QImageEncoderSettings & settings = QImageEncoderSettings(), bool * continuous = 0 ) const

Reimplemented Public Functions

virtual QMediaObject * mediaObject () const

Public Slots

void cancelCapture ()
int capture ( const QString & file = QString() )
  • 1 public slot inherited from QObject

Signals

void bufferFormatChanged ( QVideoFrame::PixelFormat format )
void captureDestinationChanged ( QCameraImageCapture::CaptureDestinations destination )
void error ( int id, QCameraImageCapture::Error error, const QString & errorString )
void imageAvailable ( int id, const QVideoFrame & buffer )
void imageCaptured ( int id, const QImage & preview )
void imageExposed ( int id )
void imageMetadataAvailable ( int id, QtMultimediaKit::MetaData key, const QVariant & value )
void imageMetadataAvailable ( int id, const QString & key, const QVariant & value )
void imageSaved ( int id, const QString & fileName )
void readyForCaptureChanged ( bool ready )

Reimplemented Protected Functions

virtual bool setMediaObject ( QMediaObject * mediaObject )

Additional Inherited Members

Detailed Description

The QCameraImageCapture class is used for the recording of media content.

The QCameraImageCapture class is a high level images recording class. It's not intended to be used alone but for accessing the media recording functions of other media objects, like QCamera.

 camera = new QCamera;

 viewfinder = new QCameraViewfinder();
 viewfinder->show();

 camera->setViewfinder(viewfinder);

 recorder = new QMediaRecorder(camera);
 imageCapture = new QCameraImageCapture(camera);

 camera->setCaptureMode(QCamera::CaptureStillImage);
 camera->start();
 //on half pressed shutter button
 camera->searchAndLock();

 //on shutter button pressed
 imageCapture->capture();

 //on shutter button released
 camera->unlock();

See also QCamera.

Member Type Documentation

enum QCameraImageCapture::CaptureDestination
flags QCameraImageCapture::CaptureDestinations

The CaptureDestinations type is a typedef for QFlags<CaptureDestination>. It stores an OR combination of CaptureDestination values.

enum QCameraImageCapture::DriveMode

Constant Value Description
QCameraImageCapture::SingleImageCapture 0 Drive mode is capturing a single picture.

enum QCameraImageCapture::Error

Constant Value Description
QCameraImageCapture::NoError 0 No Errors.
QCameraImageCapture::NotReadyError 1 The service is not ready for capture yet.
QCameraImageCapture::ResourceError 2 Device is not ready or not available.
QCameraImageCapture::NotSupportedFeatureError 4 Device does not support stillimages capture.
QCameraImageCapture::FormatError 5 Current format is not supported.
QCameraImageCapture::OutOfSpaceError 3 No space left on device.

Property Documentation

readyForCapture : const bool

Indicates the service is ready to capture a an image immediately.

This property was introduced in Qt Mobility 1.1.

Access functions:

bool isReadyForCapture () const

Notifier signal:

void readyForCaptureChanged ( bool ready )

Member Function Documentation

QCameraImageCapture::QCameraImageCapture ( QMediaObject * mediaObject, QObject * parent = 0 )

Constructs a media recorder which records the media produced by mediaObject.

The parent is passed to QMediaObject.

QCameraImageCapture::~QCameraImageCapture ()

Destroys images capture object.

QtMultimediaKit::AvailabilityError QCameraImageCapture::availabilityError () const

Returns the availability error code.

This function was introduced in Qt Mobility 1.1.

QVideoFrame::PixelFormat QCameraImageCapture::bufferFormat () const

Returns the buffer image capture format being used.

This function was introduced in Qt Mobility 1.2.

See also setBufferFormat(), supportedBufferCaptureFormats(), and setBufferCaptureFormat().

void QCameraImageCapture::bufferFormatChanged ( QVideoFrame::PixelFormat format ) [signal]

Signal emitted when the buffer format for the buffer image capture has changed.

This function was introduced in Qt Mobility 1.2.

void QCameraImageCapture::cancelCapture () [slot]

Cancel incomplete capture requests. Already captured and queused for proicessing images may be discarded.

This function was introduced in Qt Mobility 1.1.

int QCameraImageCapture::capture ( const QString & file = QString() ) [slot]

Capture the image and save it to file. This operation is asynchronous in majority of cases, followed by signals QCameraImageCapture::imageCaptured(), QCameraImageCapture::imageSaved() or QCameraImageCapture::error().

If an empty file is passed, the camera backend choses the default location and naming scheme for photos on the system, if only file name without full path is specified, the image will be saved to the default directory, with a full path reported with imageCaptured() and imageSaved() signals.

QCameraImageCapture::capture returns the capture Id parameter, used with imageExposed(), imageCaptured() and imageSaved() signals.

This function was introduced in Qt Mobility 1.1.

CaptureDestinations QCameraImageCapture::captureDestination () const

Returns the image capture destination being used.

This function was introduced in Qt Mobility 1.2.

See also isCaptureDestinationSupported() and setCaptureDestination().

void QCameraImageCapture::captureDestinationChanged ( QCameraImageCapture::CaptureDestinations destination ) [signal]

Signal emitted when the capture destination has changed.

This function was introduced in Qt Mobility 1.2.

QImageEncoderSettings QCameraImageCapture::encodingSettings () const

Returns the image encoder settings being used.

This function was introduced in Qt Mobility 1.1.

See also setEncodingSettings().

Error QCameraImageCapture::error () const

Returns the current error state.

This function was introduced in Qt Mobility 1.1.

See also errorString().

void QCameraImageCapture::error ( int id, QCameraImageCapture::Error error, const QString & errorString ) [signal]

Signals that the capture request id has failed with an error and errorString description.

This function was introduced in Qt Mobility 1.1.

QString QCameraImageCapture::errorString () const

Returns a string describing the current error state.

This function was introduced in Qt Mobility 1.1.

See also error().

void QCameraImageCapture::imageAvailable ( int id, const QVideoFrame & buffer ) [signal]

Signal emitted when the frame with request id is available as buffer.

This function was introduced in Qt Mobility 1.2.

void QCameraImageCapture::imageCaptured ( int id, const QImage & preview ) [signal]

Signal emitted when the frame with request id was captured, but not processed and saved yet. Frame preview can be displayed to user.

This function was introduced in Qt Mobility 1.1.

QString QCameraImageCapture::imageCodecDescription ( const QString & codec ) const

Returns a description of an image codec.

This function was introduced in Qt Mobility 1.1.

void QCameraImageCapture::imageExposed ( int id ) [signal]

Signal emitted when the frame with request id was exposed.

This function was introduced in Qt Mobility 1.1.

void QCameraImageCapture::imageMetadataAvailable ( int id, QtMultimediaKit::MetaData key, const QVariant & value ) [signal]

Signals that a metadata for an image with request id is available. This signal is emitted for metadata value with a key listed in QtMultimediaKit::MetaData enum.

This signal is emitted between imageExposed and imageSaved signals.

This function was introduced in Qt Mobility 1.2.

void QCameraImageCapture::imageMetadataAvailable ( int id, const QString & key, const QVariant & value ) [signal]

Signals that a metadata for an image with request id is available. This signal is emitted for extended metadata value with a key not listed in QtMultimediaKit::MetaData enum.

This signal is emitted between imageExposed and imageSaved signals.

This function was introduced in Qt Mobility 1.2.

void QCameraImageCapture::imageSaved ( int id, const QString & fileName ) [signal]

Signal emitted when the frame with request id was saved to fileName.

This function was introduced in Qt Mobility 1.1.

bool QCameraImageCapture::isAvailable () const

Returns true if the images capture service ready to use.

This function was introduced in Qt Mobility 1.1.

bool QCameraImageCapture::isCaptureDestinationSupported ( CaptureDestinations destination ) const

Returns true if the image capture destination is supported; otherwise returns false.

This function was introduced in Qt Mobility 1.2.

See also captureDestination() and setCaptureDestination().

QMediaObject * QCameraImageCapture::mediaObject () const [virtual]

Reimplemented from QMediaBindableInterface::mediaObject().

This function was introduced in Qt Mobility 1.1.

See also setMediaObject().

void QCameraImageCapture::readyForCaptureChanged ( bool ready ) [signal]

Signals that a camera's ready for capture state has changed.

This function was introduced in Qt Mobility 1.1.

void QCameraImageCapture::setBufferFormat ( QVideoFrame::PixelFormat format )

See also bufferFormat().

void QCameraImageCapture::setCaptureDestination ( CaptureDestinations destination )

Sets the capture destination to be used.

This function was introduced in Qt Mobility 1.2.

See also isCaptureDestinationSupported() and captureDestination().

void QCameraImageCapture::setEncodingSettings ( const QImageEncoderSettings & settings )

Sets the image encoding settings.

If some parameters are not specified, or null settings are passed, the encoder choose the default encoding parameters.

This function was introduced in Qt Mobility 1.1.

See also encodingSettings().

bool QCameraImageCapture::setMediaObject ( QMediaObject * mediaObject ) [virtual protected]

Reimplemented from QMediaBindableInterface::setMediaObject().

This function was introduced in Qt Mobility 1.1.

See also mediaObject().

QList<QVideoFrame::PixelFormat> QCameraImageCapture::supportedBufferFormats () const

Returns the list of supported buffer image capture formats.

This function was introduced in Qt Mobility 1.1.

See also bufferFormat() and setBufferFormat().

QStringList QCameraImageCapture::supportedImageCodecs () const

Returns a list of supported image codecs.

This function was introduced in Qt Mobility 1.1.

QList<QSize> QCameraImageCapture::supportedResolutions ( const QImageEncoderSettings & settings = QImageEncoderSettings(), bool * continuous = 0 ) const

Returns a list of resolutions images can be encoded at.

If non null image settings parameter is passed, the returned list is reduced to resolution supported with partial settings like image codec or quality applied.

If the encoder supports arbitrary resolutions within the supported range, *continuous is set to true, otherwise *continuous is set to false.

This function was introduced in Qt Mobility 1.1.

See also QImageEncoderSettings::resolution().