Home · All Classes · All Functions ·

QMediaRecorder Class Reference

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

    #include <QMediaRecorder>

This class is under development and is subject to change.

Inherits QMediaObject.


Public Types

enum Error { NoError, ResourceError, FormatError }
enum State { StoppedState, RecordingState, PausedState }

Properties


Public Functions

QMediaRecorder ( QMediaObject * mediaObject, QObject * parent = 0 )
~QMediaRecorder ()
QString audioCodecDescription ( const QString & codec ) const
QAudioEncoderSettings audioSettings () const
QString containerDescription ( const QString & mimeType ) const
QString containerMimeType () const
qint64 duration () const
Error error () const
QString errorString () const
QUrl outputLocation () const
void setEncodingSettings ( const QAudioEncoderSettings & audio, const QVideoEncoderSettings & video = QVideoEncoderSettings(), const QString & container = QString() )
bool setOutputLocation ( const QUrl & location )
State state () const
QStringList supportedAudioCodecs () const
QList<int> supportedAudioSampleRates ( const QAudioEncoderSettings & settings = QAudioEncoderSettings(), bool * continuous = 0 ) const
QStringList supportedContainers () const
QList<qreal> supportedFrameRates ( const QVideoEncoderSettings & settings = QVideoEncoderSettings(), bool * continuous = 0 ) const
QList<QSize> supportedResolutions ( const QVideoEncoderSettings & settings = QVideoEncoderSettings(), bool * continuous = 0 ) const
QStringList supportedVideoCodecs () const
QString videoCodecDescription ( const QString & codec ) const
QVideoEncoderSettings videoSettings () const

Reimplemented Public Functions

virtual QtMedia::AvailabilityError availabilityError () const
virtual bool isAvailable () const

Public Slots

void pause ()
void record ()
void stop ()

Signals

void durationChanged ( qint64 duration )
void error ( QMediaRecorder::Error error )
void stateChanged ( QMediaRecorder::State state )

Additional Inherited Members


Detailed Description

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

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

If the radio is used as a source, recording is only possible when the source is in appropriate state

    // Audio only recording
    audioSource = new QAudioCaptureSource;
    recorder = new QMediaRecorder(audioSource);

    QAudioEncoderSettings audioSettings;
    audioSettings.setCodec("audio/vorbis");
    audioSettings.setQuality(QtMedia::HighQuality);

    recorder->setEncodingSettings(audioSettings);

    recorder->setOutputLocation(QUrl::fromLocalFile(fileName));
    recorder->record();

Member Type Documentation

enum QMediaRecorder::Error

ConstantValueDescription
QMediaRecorder::NoError0No Errors.
QMediaRecorder::ResourceError1Device is not ready or not available.
QMediaRecorder::FormatError2Current format is not supported.

enum QMediaRecorder::State

ConstantValueDescription
QMediaRecorder::StoppedState0The recorder is not active.
QMediaRecorder::RecordingState1The recorder is currently active and producing data.
QMediaRecorder::PausedState2The recorder is paused.


Property Documentation

duration : const qint64

This property holds the recorded media duration in milliseconds.

Access functions:

qint64 duration () const

Notifier signal:

void durationChanged ( qint64 duration )

outputLocation : QUrl

This property holds the destination location of media content.

Setting the location can fail for example when the service supports only local file system locations while the network url was passed, or the service doesn't support media recording.

Access functions:

QUrl outputLocation () const
bool setOutputLocation ( const QUrl & location )

Member Function Documentation

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

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

The parent is passed to QMediaObject.

QMediaRecorder::~QMediaRecorder ()

Destroys a media recorder object.

QString QMediaRecorder::audioCodecDescription ( const QString & codec ) const

Returns a description of an audio codec.

QAudioEncoderSettings QMediaRecorder::audioSettings () const

Returns the audio encoder settings being used.

See also setEncodingSettings().

QtMedia::AvailabilityError QMediaRecorder::availabilityError () const   [virtual]

Reimplemented from QMediaObject::availabilityError().

Returns the availability error code.

QString QMediaRecorder::containerDescription ( const QString & mimeType ) const

Returns a description of a container format mimeType.

QString QMediaRecorder::containerMimeType () const

Returns the MIME type of the selected container format.

void QMediaRecorder::durationChanged ( qint64 duration )   [signal]

Signals that the duration of the recorded media has changed.

Error QMediaRecorder::error () const

Returns the current error state.

See also errorString().

void QMediaRecorder::error ( QMediaRecorder::Error error )   [signal]

Signals that an error has occurred.

QString QMediaRecorder::errorString () const

Returns a string describing the current error state.

See also error().

bool QMediaRecorder::isAvailable () const   [virtual]

Reimplemented from QMediaObject::isAvailable().

Returns true if media recorder service ready to use.

void QMediaRecorder::pause ()   [slot]

Pause recording.

void QMediaRecorder::record ()   [slot]

Start recording.

This is an asynchronous call, with signal stateCahnged(QMediaRecorder::RecordingState) being emited when recording started, otherwise error() signal is emited.

void QMediaRecorder::setEncodingSettings ( const QAudioEncoderSettings & audio, const QVideoEncoderSettings & video = QVideoEncoderSettings(), const QString & container = QString() )

Sets the audio and video encoder settings and container format MIME type.

It's only possible to change setttings when the encoder is in the QMediaEncoder::StoppedState state.

If some parameters are not specified, or null settings are passed, the encoder choose the default encoding parameters, depending on media source properties. But while setEncodingSettings is optional, the backend can preload encoding pipeline to improve recording startup time.

See also audioSettings(), videoSettings(), and containerMimeType().

State QMediaRecorder::state () const

Returns the current media recorder state.

See also QMediaRecorder::State.

void QMediaRecorder::stateChanged ( QMediaRecorder::State state )   [signal]

Signals that a media recorder's state has changed.

void QMediaRecorder::stop ()   [slot]

Stop recording.

QStringList QMediaRecorder::supportedAudioCodecs () const

Returns a list of supported audio codecs.

QList<int> QMediaRecorder::supportedAudioSampleRates ( const QAudioEncoderSettings & settings = QAudioEncoderSettings(), bool * continuous = 0 ) const

Returns a list of supported audio sample rates.

If non null audio settings parameter is passed, the returned list is reduced to sample rates supported with partial settings applied.

It can be used for example to query the list of sample rates, supported by specific audio codec.

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

QStringList QMediaRecorder::supportedContainers () const

Returns a list of MIME types of supported container formats.

QList<qreal> QMediaRecorder::supportedFrameRates ( const QVideoEncoderSettings & settings = QVideoEncoderSettings(), bool * continuous = 0 ) const

Returns a list of frame rates video can be encoded at.

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

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

See also QVideoEncoderSettings::frameRate().

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

Returns a list of resolutions video can be encoded at.

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

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

See also QVideoEncoderSettings::resolution().

QStringList QMediaRecorder::supportedVideoCodecs () const

Returns a list of supported video codecs.

QString QMediaRecorder::videoCodecDescription ( const QString & codec ) const

Returns a description of a video codec.

See also setEncodingSettings().

QVideoEncoderSettings QMediaRecorder::videoSettings () const

Returns the video encoder settings being used.

See also setEncodingSettings().


Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies) Trademarks
Qt Mobility Project 1.0.0