QMediaRecorder

The QMediaRecorder class is used for encoding and recording a capture session. More

Inheritance diagram of PySide6.QtMultimedia.QMediaRecorder

Synopsis

Functions

Detailed Description

The QMediaRecorder class is a class for encoding and recording media generated in a QMediaCaptureSession .

QMediaCaptureSession session;
QAudioInput audioInput;
session.setAudioInput(&input);
QMediaRecorder recorder;
session.setMediaRecorder(&recorder);
recorder.setQuality(QMediaRecorder::HighQuality);
recorder.setOutputLocation(QUrl::fromLocalFile("test.mp3"));
recorder.record();
class PySide6.QtMultimedia.QMediaRecorder([parent=None])
Parameters

parentPySide6.QtCore.QObject

Constructs a media recorder which records the media produced by a microphone and camera. The media recorder is a child of parent.

PySide6.QtMultimedia.QMediaRecorder.Quality

Enumerates quality encoding levels.

Constant

Description

QMediaRecorder.VeryLowQuality

QMediaRecorder.LowQuality

QMediaRecorder.NormalQuality

QMediaRecorder.HighQuality

QMediaRecorder.VeryHighQuality

New in version 6.1.

PySide6.QtMultimedia.QMediaRecorder.EncodingMode

Enumerates encoding modes.

Constant

Description

QMediaRecorder.ConstantQualityEncoding

Encoding will aim to have a constant quality, adjusting bitrate to fit.

QMediaRecorder.ConstantBitRateEncoding

Encoding will use a constant bit rate, adjust quality to fit.

QMediaRecorder.AverageBitRateEncoding

Encoding will try to keep an average bitrate setting, but will use more or less as needed.

QMediaRecorder.TwoPassEncoding

The media will first be processed to determine the characteristics, and then processed a second time allocating more bits to the areas that need it.

New in version 6.1.

PySide6.QtMultimedia.QMediaRecorder.RecorderState

Constant

Description

QMediaRecorder.StoppedState

The recorder is not active.

QMediaRecorder.RecordingState

The recording is requested.

QMediaRecorder.PausedState

The recorder is paused.

New in version 6.1.

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

QMediaRecorder.LocationNotWritable

The output location is not writable.

New in version 6.1.

PySide6.QtMultimedia.QMediaRecorder.actualLocation()
Return type

PySide6.QtCore.QUrl

PySide6.QtMultimedia.QMediaRecorder.actualLocationChanged(location)
Parameters

locationPySide6.QtCore.QUrl

Signals that the actual location of the recorded media has changed. This signal is usually emitted when recording starts.

PySide6.QtMultimedia.QMediaRecorder.addMetaData(metaData)
Parameters

metaDataPySide6.QtMultimedia.QMediaMetaData

PySide6.QtMultimedia.QMediaRecorder.audioBitRate()
Return type

int

Returns the bit rate of the compressed audio stream in bits per second.

PySide6.QtMultimedia.QMediaRecorder.audioBitRateChanged()
PySide6.QtMultimedia.QMediaRecorder.audioChannelCount()
Return type

int

Returns the number of audio channels.

PySide6.QtMultimedia.QMediaRecorder.audioChannelCountChanged()
PySide6.QtMultimedia.QMediaRecorder.audioSampleRate()
Return type

int

Returns the audio sample rate in Hz.

PySide6.QtMultimedia.QMediaRecorder.audioSampleRateChanged()
PySide6.QtMultimedia.QMediaRecorder.captureSession()
Return type

PySide6.QtMultimedia.QMediaCaptureSession

PySide6.QtMultimedia.QMediaRecorder.duration()
Return type

int

PySide6.QtMultimedia.QMediaRecorder.durationChanged(duration)
Parameters

duration – int

Signals that the duration of the recorded media has changed.

PySide6.QtMultimedia.QMediaRecorder.encoderSettingsChanged()
PySide6.QtMultimedia.QMediaRecorder.encodingMode()
Return type

EncodingMode

Returns the encoding mode.

See also

setEncodingMode() EncodingMode

PySide6.QtMultimedia.QMediaRecorder.encodingModeChanged()
PySide6.QtMultimedia.QMediaRecorder.error()
Return type

Error

Returns the current error state.

See also

errorString()

PySide6.QtMultimedia.QMediaRecorder.errorChanged()
PySide6.QtMultimedia.QMediaRecorder.errorOccurred(error, errorString)
Parameters
  • errorError

  • errorString – str

Signals that an error has occurred, with errorString containing a description of the error.

PySide6.QtMultimedia.QMediaRecorder.errorString()
Return type

str

Returns a string describing the current error state.

See also

error()

PySide6.QtMultimedia.QMediaRecorder.isAvailable()
Return type

bool

Returns true if media recorder service ready to use.

PySide6.QtMultimedia.QMediaRecorder.mediaFormat()
Return type

PySide6.QtMultimedia.QMediaFormat

See also

setMediaFormat()

PySide6.QtMultimedia.QMediaRecorder.mediaFormatChanged()
PySide6.QtMultimedia.QMediaRecorder.metaData()
Return type

PySide6.QtMultimedia.QMediaMetaData

Returns the associated with the recording.

See also

setMetaData()

PySide6.QtMultimedia.QMediaRecorder.metaDataChanged()

Signals that a media object’s meta-data has changed.

If multiple meta-data elements are changed is emitted once.

PySide6.QtMultimedia.QMediaRecorder.outputLocation()
Return type

PySide6.QtCore.QUrl

PySide6.QtMultimedia.QMediaRecorder.pause()

Pauses recording.

The recorder state is changed to PausedState .

Depending on the platform, pausing recording may be not supported. In this case the recorder state is unchanged.

PySide6.QtMultimedia.QMediaRecorder.quality()
Return type

Quality

See also

setQuality()

PySide6.QtMultimedia.QMediaRecorder.qualityChanged()
PySide6.QtMultimedia.QMediaRecorder.record()

Start recording.

While the recorder state is changed immediately to c{ RecordingState }, recording may start asynchronously.

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

Note

On mobile devices, recording will happen in the orientation the device had when calling record and is locked for the duration of the recording. To avoid artifacts on the user interface, we recommend to keep the user interface locked to the same orientation as long as the recording is ongoing using the contentOrientation property of QWindow and unlock it again once the recording is finished.

PySide6.QtMultimedia.QMediaRecorder.recorderState()
Return type

RecorderState

Returns the current media recorder state.

See also

RecorderState

PySide6.QtMultimedia.QMediaRecorder.recorderStateChanged(state)
Parameters

stateRecorderState

Signals that a media recorder’s state has changed.

PySide6.QtMultimedia.QMediaRecorder.setAudioBitRate(bitRate)
Parameters

bitRate – int

Sets the audio bitRate in bits per second.

See also

audioBitRate()

PySide6.QtMultimedia.QMediaRecorder.setAudioChannelCount(channels)
Parameters

channels – int

Sets the number of audio channels.

A value of -1 indicates the recorder should make an optimal choice based on what is available from the audio source and the limitations of the codec.

PySide6.QtMultimedia.QMediaRecorder.setAudioSampleRate(sampleRate)
Parameters

sampleRate – int

Sets the audio sampleRate in Hz.

A value of -1 indicates the recorder should make an optimal choice based on what is available from the audio source, and the limitations of the codec.

PySide6.QtMultimedia.QMediaRecorder.setEncodingMode(arg__1)
Parameters

arg__1EncodingMode

Sets the encoding mode setting.

If ConstantQualityEncoding is set, the quality encoding parameter is used and bit rates are ignored, otherwise the bitrates are used.

See also

encodingMode() EncodingMode

PySide6.QtMultimedia.QMediaRecorder.setMediaFormat(format)
Parameters

formatPySide6.QtMultimedia.QMediaFormat

See also

mediaFormat()

PySide6.QtMultimedia.QMediaRecorder.setMetaData(metaData)
Parameters

metaDataPySide6.QtMultimedia.QMediaMetaData

Sets the meta data to metaData.

Note

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

See also

metaData()

PySide6.QtMultimedia.QMediaRecorder.setOutputLocation(location)
Parameters

locationPySide6.QtCore.QUrl

See also

outputLocation()

PySide6.QtMultimedia.QMediaRecorder.setQuality(quality)
Parameters

qualityQuality

See also

quality()

PySide6.QtMultimedia.QMediaRecorder.setVideoBitRate(bitRate)
Parameters

bitRate – int

Sets the video bitRate in bits per second.

See also

videoBitRate()

PySide6.QtMultimedia.QMediaRecorder.setVideoFrameRate(frameRate)
Parameters

frameRate – float

Sets the video frameRate.

A value of 0 indicates the recorder should make an optimal choice based on what is available from the video source and the limitations of the codec.

See also

videoFrameRate()

PySide6.QtMultimedia.QMediaRecorder.setVideoResolution(width, height)
Parameters
  • width – int

  • height – int

Sets the width and height of the resolution of the encoded video.

This is an overloaded function.

PySide6.QtMultimedia.QMediaRecorder.setVideoResolution(arg__1)
Parameters

arg__1PySide6.QtCore.QSize

Sets the resolution of the encoded video to size.

Pass an empty QSize to make the recorder choose an optimal resolution based on what is available from the video source and the limitations of the codec.

PySide6.QtMultimedia.QMediaRecorder.stop()

Stops recording.

The recorder state is changed to StoppedState .

PySide6.QtMultimedia.QMediaRecorder.videoBitRate()
Return type

int

Returns the bit rate of the compressed video stream in bits per second.

PySide6.QtMultimedia.QMediaRecorder.videoBitRateChanged()
PySide6.QtMultimedia.QMediaRecorder.videoFrameRate()
Return type

float

Returns the video frame rate.

PySide6.QtMultimedia.QMediaRecorder.videoFrameRateChanged()
PySide6.QtMultimedia.QMediaRecorder.videoResolution()
Return type

PySide6.QtCore.QSize

Returns the resolution of the encoded video.

PySide6.QtMultimedia.QMediaRecorder.videoResolutionChanged()