QMediaRecorder

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

Inheritance diagram of PySide2.QtMultimedia.QMediaRecorder

Inherited by: QAudioRecorder

Synopsis

Functions

Slots

Signals

Detailed Description

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 QCamera .

recorder = new QMediaRecorder(camera);

QAudioEncoderSettings audioSettings;
audioSettings.setCodec("audio/amr");
audioSettings.setQuality(QMultimedia::HighQuality);

recorder->setAudioSettings(audioSettings);

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

See also

QAudioRecorder

class PySide2.QtMultimedia.QMediaRecorder(mediaObject[, parent=None])

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

The parent is passed to QMediaObject .

PySide2.QtMultimedia.QMediaRecorder.State

Constant

Description

QMediaRecorder.StoppedState

The recorder is not active. If this is the state after recording then the actual created recording has finished being written to the final location and is ready on all platforms except on Android. On Android, due to platform limitations, there is no way to be certain that the recording has finished writing to the final location.

QMediaRecorder.RecordingState

The recording is requested.

QMediaRecorder.PausedState

The recorder is paused.

PySide2.QtMultimedia.QMediaRecorder.Status

Constant

Description

QMediaRecorder.UnavailableStatus

The recorder is not available or not supported by connected media object.

QMediaRecorder.UnloadedStatus

The recorder is avilable but not loaded.

QMediaRecorder.LoadingStatus

The recorder is initializing.

QMediaRecorder.LoadedStatus

The recorder is initialized and ready to record media.

QMediaRecorder.StartingStatus

Recording is requested but not active yet.

QMediaRecorder.RecordingStatus

Recording is active.

QMediaRecorder.PausedStatus

Recording is paused.

QMediaRecorder.FinalizingStatus

Recording is stopped with media being finalized.

PySide2.QtMultimedia.QMediaRecorder.Error

Constant

Description

QMediaRecorder.NoError

No Errors.

QMediaRecorder.ResourceError

Device is not ready or not available.

QMediaRecorder.FormatError

Current format is not supported.

QMediaRecorder.OutOfSpaceError

No space left on device.

PySide2.QtMultimedia.QMediaRecorder.actualLocation()
Return type

PySide2.QtCore.QUrl

This property holds the actual location of the last media content..

The actual location is usually available after recording starts, and reset when new location is set or new recording starts.

PySide2.QtMultimedia.QMediaRecorder.actualLocationChanged(location)
Parameters

locationPySide2.QtCore.QUrl

PySide2.QtMultimedia.QMediaRecorder.audioCodecDescription(codecName)
Parameters

codecName – str

Return type

str

Returns a description of an audio codec .

PySide2.QtMultimedia.QMediaRecorder.audioSettings()
Return type

PySide2.QtMultimedia.QAudioEncoderSettings

Returns the audio encoder settings being used.

PySide2.QtMultimedia.QMediaRecorder.availability()
Return type

AvailabilityStatus

Returns the availability of this functionality.

PySide2.QtMultimedia.QMediaRecorder.availabilityChanged(availability)
Parameters

availabilityAvailabilityStatus

PySide2.QtMultimedia.QMediaRecorder.availabilityChanged(available)
Parameters

available – bool

PySide2.QtMultimedia.QMediaRecorder.availableMetaData()
Return type

list of strings

Returns a list of keys there is meta-data available for.

PySide2.QtMultimedia.QMediaRecorder.containerDescription(format)
Parameters

format – str

Return type

str

Returns a description of a container format .

PySide2.QtMultimedia.QMediaRecorder.containerFormat()
Return type

str

Returns the selected container format.

PySide2.QtMultimedia.QMediaRecorder.duration()
Return type

int

This property holds the recorded media duration in milliseconds..

PySide2.QtMultimedia.QMediaRecorder.durationChanged(duration)
Parameters

duration – int

PySide2.QtMultimedia.QMediaRecorder.error()
Return type

Error

Returns the current error state.

See also

errorString()

PySide2.QtMultimedia.QMediaRecorder.error(error)
Parameters

errorError

PySide2.QtMultimedia.QMediaRecorder.errorString()
Return type

str

Returns a string describing the current error state.

See also

error()

PySide2.QtMultimedia.QMediaRecorder.isAvailable()
Return type

bool

Returns true if media recorder service ready to use.

PySide2.QtMultimedia.QMediaRecorder.isMetaDataAvailable()
Return type

bool

This property holds whether access to a media object’s meta-data is available..

If this is true there is meta-data available, otherwise there is no meta-data available.

PySide2.QtMultimedia.QMediaRecorder.isMetaDataWritable()
Return type

bool

This property holds whether a media object’s meta-data is writable..

If this is true the meta-data is writable, otherwise the meta-data is read-only.

PySide2.QtMultimedia.QMediaRecorder.isMuted()
Return type

bool

This property holds whether a recording audio stream is muted..

PySide2.QtMultimedia.QMediaRecorder.metaData(key)
Parameters

key – str

Return type

object

Returns the value associated with a meta-data key .

See also

setMetaData()

PySide2.QtMultimedia.QMediaRecorder.metaDataAvailableChanged(available)
Parameters

available – bool

PySide2.QtMultimedia.QMediaRecorder.metaDataChanged()
PySide2.QtMultimedia.QMediaRecorder.metaDataChanged(key, value)
Parameters
  • key – str

  • value – object

PySide2.QtMultimedia.QMediaRecorder.metaDataWritableChanged(writable)
Parameters

writable – bool

PySide2.QtMultimedia.QMediaRecorder.mutedChanged(muted)
Parameters

muted – bool

PySide2.QtMultimedia.QMediaRecorder.outputLocation()
Return type

PySide2.QtCore.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 but a network URL was passed. If the service does not support media recording this setting the output location will always fail.

The location can be relative or empty; in this case the recorder uses the system specific place and file naming scheme. After recording has stated, returns the actual output location.

PySide2.QtMultimedia.QMediaRecorder.pause()

Pause recording.

The recorder state is changed to PausedState .

Depending on platform recording pause may be not supported, in this case the recorder state stays unchanged.

PySide2.QtMultimedia.QMediaRecorder.record()

Start recording.

While the recorder state is changed immediately to RecordingState , recording may start asynchronously, with statusChanged ( RecordingStatus ) signal emitted when recording starts.

If recording fails error() signal is emitted with recorder state being reset back to StoppedState .

PySide2.QtMultimedia.QMediaRecorder.setAudioSettings(audioSettings)
Parameters

audioSettingsPySide2.QtMultimedia.QAudioEncoderSettings

Sets the audio encoder settings .

If some parameters are not specified, or null settings are passed, the encoder will choose default encoding parameters, depending on media source properties.

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

PySide2.QtMultimedia.QMediaRecorder.setContainerFormat(container)
Parameters

container – str

Sets the media container format.

If the container format is not specified, the encoder will choose format, depending on media source properties and encoding settings selected.

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

PySide2.QtMultimedia.QMediaRecorder.setEncodingSettings(audioSettings[, videoSettings=QVideoEncoderSettings()[, containerMimeType=""]])
Parameters

Sets the audio and video encoder settings and container format.

If some parameters are not specified, or null settings are passed, the encoder will choose default encoding parameters, depending on media source properties.

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

PySide2.QtMultimedia.QMediaRecorder.setMetaData(key, value)
Parameters
  • key – str

  • value – object

Sets a value for a meta-data key .

Note

To ensure that meta data is set corretly, it should be set before starting the recording. Once the recording is stopped, any meta data set will be attached to the next recording.

See also

metaData()

PySide2.QtMultimedia.QMediaRecorder.setMuted(muted)
Parameters

muted – bool

This property holds whether a recording audio stream is muted..

PySide2.QtMultimedia.QMediaRecorder.setOutputLocation(location)
Parameters

locationPySide2.QtCore.QUrl

Return type

bool

See also

outputLocation()

PySide2.QtMultimedia.QMediaRecorder.setVideoSettings(videoSettings)
Parameters

videoSettingsPySide2.QtMultimedia.QVideoEncoderSettings

Sets the video encoder settings .

If some parameters are not specified, or null settings are passed, the encoder will choose default encoding parameters, depending on media source properties.

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

PySide2.QtMultimedia.QMediaRecorder.setVolume(volume)
Parameters

volume – float

This property holds the current recording audio volume..

The volume is scaled linearly from 0.0 (silence) to 1.0 (full volume). Values outside this range will be clamped.

The default volume is 1.0 .

UI volume controls should usually be scaled nonlinearly. For example, using a logarithmic scale will produce linear changes in perceived loudness, which is what a user would normally expect from a volume control. See convertVolume() for more details.

PySide2.QtMultimedia.QMediaRecorder.state()
Return type

State

This property holds The current state of the media recorder..

The state property represents the user request and is changed synchronously during record() , pause() or stop() calls. Recorder state may also change asynchronously when recording fails.

PySide2.QtMultimedia.QMediaRecorder.stateChanged(state)
Parameters

stateState

PySide2.QtMultimedia.QMediaRecorder.status()
Return type

Status

This property holds The current status of the media recorder..

The status is changed asynchronously and represents the actual status of media recorder.

PySide2.QtMultimedia.QMediaRecorder.statusChanged(status)
Parameters

statusStatus

PySide2.QtMultimedia.QMediaRecorder.stop()

Stop recording.

The recorder state is changed to StoppedState .

PySide2.QtMultimedia.QMediaRecorder.supportedAudioCodecs()
Return type

list of strings

Returns a list of supported audio codecs.

PySide2.QtMultimedia.QMediaRecorder.supportedContainers()
Return type

list of strings

Returns a list of supported container formats.

PySide2.QtMultimedia.QMediaRecorder.supportedVideoCodecs()
Return type

list of strings

Returns a list of supported video codecs.

PySide2.QtMultimedia.QMediaRecorder.videoCodecDescription(codecName)
Parameters

codecName – str

Return type

str

Returns a description of a video codec .

PySide2.QtMultimedia.QMediaRecorder.videoSettings()
Return type

PySide2.QtMultimedia.QVideoEncoderSettings

Returns the video encoder settings being used.

PySide2.QtMultimedia.QMediaRecorder.volume()
Return type

float

This property holds the current recording audio volume..

The volume is scaled linearly from 0.0 (silence) to 1.0 (full volume). Values outside this range will be clamped.

The default volume is 1.0 .

UI volume controls should usually be scaled nonlinearly. For example, using a logarithmic scale will produce linear changes in perceived loudness, which is what a user would normally expect from a volume control. See convertVolume() for more details.

PySide2.QtMultimedia.QMediaRecorder.volumeChanged(volume)
Parameters

volume – float