QMediaRecorder#
The QMediaRecorder
class is used for encoding and recording a capture session. More…
Synopsis#
Properties#
actualLocation
- Actual location of the last media contentduration
- The recorded media duration in millisecondsoutputLocation
- The destination location of media contentrecorderState
- Current state of the media recorder
Functions#
def
actualLocation
()def
addMetaData
(metaData)def
audioBitRate
()def
audioChannelCount
()def
audioSampleRate
()def
captureSession
()def
duration
()def
encodingMode
()def
error
()def
errorString
()def
isAvailable
()def
mediaFormat
()def
metaData
()def
outputLocation
()def
quality
()def
recorderState
()def
setAudioBitRate
(bitRate)def
setAudioChannelCount
(channels)def
setAudioSampleRate
(sampleRate)def
setEncodingMode
(arg__1)def
setMediaFormat
(format)def
setMetaData
(metaData)def
setOutputLocation
(location)def
setQuality
(quality)def
setVideoBitRate
(bitRate)def
setVideoFrameRate
(frameRate)def
setVideoResolution
(arg__1)def
setVideoResolution
(width, height)def
videoBitRate
()def
videoFrameRate
()def
videoResolution
()
Slots#
Signals#
def
actualLocationChanged
(location)def
audioBitRateChanged
()def
audioChannelCountChanged
()def
audioSampleRateChanged
()def
durationChanged
(duration)def
encoderSettingsChanged
()def
encodingModeChanged
()def
errorChanged
()def
errorOccurred
(error, errorString)def
mediaFormatChanged
()def
metaDataChanged
()def
qualityChanged
()def
recorderStateChanged
(state)def
videoBitRateChanged
()def
videoFrameRateChanged
()def
videoResolutionChanged
()
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
Warning
This section contains snippets that were automatically translated from C++ to Python and may contain errors.
The QMediaRecorder
class is a class for encoding and recording media generated in a QMediaCaptureSession
.
session = QMediaCaptureSession() audioInput = QAudioInput() session.setAudioInput(input) recorder = QMediaRecorder() session.setRecorder(recorder) recorder.setQuality(QMediaRecorder.HighQuality) recorder.setOutputLocation(QUrl.fromLocalFile("test.mp3")) recorder.record()
- class PySide6.QtMultimedia.QMediaRecorder([parent=None])#
- Parameters:
parent –
PySide6.QtCore.QObject
Constructs a media recorder which records the media produced by a microphone and camera. The media recorder is a child of parent
.
Note
Properties can be used directly when from __feature__ import true_property
is used or via accessor functions otherwise.
- property PᅟySide6.QtMultimedia.QMediaRecorder.actualLocation: PySide6.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.
- Access functions:
Signal
actualLocationChanged
(location)
- property PᅟySide6.QtMultimedia.QMediaRecorder.audioBitRate: int#
- Access functions:
audioBitRate
()setAudioBitRate
(bitRate)Signal
audioBitRateChanged
()
- property PᅟySide6.QtMultimedia.QMediaRecorder.audioChannelCount: int#
- Access functions:
setAudioChannelCount
(channels)Signal
audioChannelCountChanged
()
- property PᅟySide6.QtMultimedia.QMediaRecorder.audioSampleRate: int#
- Access functions:
setAudioSampleRate
(sampleRate)Signal
audioSampleRateChanged
()
- property PᅟySide6.QtMultimedia.QMediaRecorder.duration: int#
This property holds the recorded media duration in milliseconds..
- Access functions:
duration
()Signal
durationChanged
(duration)
- property PᅟySide6.QtMultimedia.QMediaRecorder.encodingMode: EncodingMode#
- Access functions:
encodingMode
()setEncodingMode
(arg__1)Signal
encodingModeChanged
()
- property PᅟySide6.QtMultimedia.QMediaRecorder.error: Error#
Returns the current error state.
See also
- Access functions:
error
()Signal
errorChanged
()
- property PᅟySide6.QtMultimedia.QMediaRecorder.errorString: str#
Returns a string describing the current error state.
See also
- Access functions:
errorString
()Signal
errorChanged
()
- property PᅟySide6.QtMultimedia.QMediaRecorder.mediaFormat: PySide6.QtMultimedia.QMediaFormat#
Returns the recording media format.
- Access functions:
mediaFormat
()setMediaFormat
(format)Signal
mediaFormatChanged
()
- property PᅟySide6.QtMultimedia.QMediaRecorder.metaData: PySide6.QtMultimedia.QMediaMetaData#
Returns the metaData associated with the recording.
- Access functions:
metaData
()setMetaData
(metaData)Signal
metaDataChanged
()
- property PᅟySide6.QtMultimedia.QMediaRecorder.outputLocation: PySide6.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 operation fails an errorOccured() signal is emitted.
The output location can be relative or empty; in the latter case the recorder uses the system specific place and file naming scheme.
- Access functions:
setOutputLocation
(location)
- property PᅟySide6.QtMultimedia.QMediaRecorder.quality: Quality#
Returns the recording quality.
- Access functions:
quality
()setQuality
(quality)Signal
qualityChanged
()
- property PᅟySide6.QtMultimedia.QMediaRecorder.recorderState: RecorderState#
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.
- Access functions:
Signal
recorderStateChanged
(state)
- property PᅟySide6.QtMultimedia.QMediaRecorder.videoBitRate: int#
- Access functions:
videoBitRate
()setVideoBitRate
(bitRate)Signal
videoBitRateChanged
()
- property PᅟySide6.QtMultimedia.QMediaRecorder.videoFrameRate: float#
- Access functions:
setVideoFrameRate
(frameRate)Signal
videoFrameRateChanged
()
- property PᅟySide6.QtMultimedia.QMediaRecorder.videoResolution: PySide6.QtCore.QSize#
- Access functions:
setVideoResolution
(arg__1)Signal
videoResolutionChanged
()
- 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:
Getter of property actualLocation
.
- PySide6.QtMultimedia.QMediaRecorder.actualLocationChanged(location)#
- Parameters:
location –
PySide6.QtCore.QUrl
Signals that the actual location
of the recorded media has changed. This signal is usually emitted when recording starts.
Notification signal of property actualLocation
.
- PySide6.QtMultimedia.QMediaRecorder.addMetaData(metaData)#
- Parameters:
metaData –
PySide6.QtMultimedia.QMediaMetaData
Adds metaData
to the recorded media.
- PySide6.QtMultimedia.QMediaRecorder.audioBitRate()#
- Return type:
int
Returns the bit rate of the compressed audio stream in bits per second.
See also
Getter of property audioBitRate
.
- PySide6.QtMultimedia.QMediaRecorder.audioBitRateChanged()#
Signals when the recording audio bit rate changes.
Notification signal of property audioBitRate
.
- PySide6.QtMultimedia.QMediaRecorder.audioChannelCount()#
- Return type:
int
Returns the number of audio channels.
See also
Getter of property audioChannelCount
.
- PySide6.QtMultimedia.QMediaRecorder.audioChannelCountChanged()#
Signals when the recording audio channel count changes.
Notification signal of property audioChannelCount
.
- PySide6.QtMultimedia.QMediaRecorder.audioSampleRate()#
- Return type:
int
Returns the audio sample rate in Hz.
See also
Getter of property audioSampleRate
.
- PySide6.QtMultimedia.QMediaRecorder.audioSampleRateChanged()#
Signals when the recording audio sample rate changes.
Notification signal of property audioSampleRate
.
- PySide6.QtMultimedia.QMediaRecorder.captureSession()#
- Return type:
Returns the media capture session.
- PySide6.QtMultimedia.QMediaRecorder.duration()#
- Return type:
int
Getter of property duration
.
- PySide6.QtMultimedia.QMediaRecorder.durationChanged(duration)#
- Parameters:
duration – int
Signals that the duration
of the recorded media has changed.
Notification signal of property duration
.
- PySide6.QtMultimedia.QMediaRecorder.encoderSettingsChanged()#
Signals when the encoder settings change.
- PySide6.QtMultimedia.QMediaRecorder.encodingMode()#
- Return type:
Returns the encoding mode.
See also
setEncodingMode()
EncodingMode
Getter of property encodingMode
.
- PySide6.QtMultimedia.QMediaRecorder.encodingModeChanged()#
Signals when the encoding mode changes.
Notification signal of property encodingMode
.
Getter of property error
.
- PySide6.QtMultimedia.QMediaRecorder.errorChanged()#
Notification signal of property error
.
- PySide6.QtMultimedia.QMediaRecorder.errorOccurred(error, errorString)#
- Parameters:
error –
Error
errorString – str
Signals that an error
has occurred, with errorString
containing a description of the error.
- PySide6.QtMultimedia.QMediaRecorder.errorString()#
- Return type:
str
Getter of property errorString
.
- PySide6.QtMultimedia.QMediaRecorder.isAvailable()#
- Return type:
bool
Returns true
if media recorder service ready to use.
- PySide6.QtMultimedia.QMediaRecorder.mediaFormat()#
- Return type:
See also
Getter of property mediaFormat
.
- PySide6.QtMultimedia.QMediaRecorder.mediaFormatChanged()#
Notification signal of property mediaFormat
.
- PySide6.QtMultimedia.QMediaRecorder.metaData()#
- Return type:
See also
Getter of property metaData
.
- PySide6.QtMultimedia.QMediaRecorder.metaDataChanged()#
Signals that a media object’s meta-data has changed.
If multiple meta-data elements are changed metaDataChanged() is emitted once.
Notification signal of property metaData
.
- PySide6.QtMultimedia.QMediaRecorder.outputLocation()#
- Return type:
See also
Getter of property outputLocation
.
- 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:
See also
Getter of property quality
.
- PySide6.QtMultimedia.QMediaRecorder.qualityChanged()#
Signals when the recording quality changes.
Notification signal of property quality
.
- 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:
Returns the current media recorder state.
See also
RecorderState
Getter of property recorderState
.
- PySide6.QtMultimedia.QMediaRecorder.recorderStateChanged(state)#
- Parameters:
state –
RecorderState
Signals that a media recorder’s state
has changed.
Notification signal of property recorderState
.
- PySide6.QtMultimedia.QMediaRecorder.setAudioBitRate(bitRate)#
- Parameters:
bitRate – int
Sets the audio bitRate
in bits per second.
See also
Setter of property 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.
See also
Setter of property audioChannelCount
.
- 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.
See also
Setter of property audioSampleRate
.
- PySide6.QtMultimedia.QMediaRecorder.setEncodingMode(arg__1)#
- Parameters:
arg__1 –
EncodingMode
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
Setter of property encodingMode
.
- PySide6.QtMultimedia.QMediaRecorder.setMediaFormat(format)#
- Parameters:
format –
PySide6.QtMultimedia.QMediaFormat
See also
Setter of property mediaFormat
.
- PySide6.QtMultimedia.QMediaRecorder.setMetaData(metaData)#
- Parameters:
metaData –
PySide6.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
Setter of property metaData
.
- PySide6.QtMultimedia.QMediaRecorder.setOutputLocation(location)#
- Parameters:
location –
PySide6.QtCore.QUrl
See also
Setter of property outputLocation
.
Setter of property quality
.
- PySide6.QtMultimedia.QMediaRecorder.setVideoBitRate(bitRate)#
- Parameters:
bitRate – int
Sets the video bitRate
in bits per second.
See also
Setter of property 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
Setter of property videoFrameRate
.
- PySide6.QtMultimedia.QMediaRecorder.setVideoResolution(arg__1)#
- Parameters:
arg__1 –
PySide6.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.
See also
Setter of property videoResolution
.
- 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.stop()#
The recorder will stop the recording. Processing pending video and audio data might however still take some time. The recording is finished, once the state of the media recorder changes to StoppedState
.
- PySide6.QtMultimedia.QMediaRecorder.videoBitRate()#
- Return type:
int
Returns the bit rate of the compressed video stream in bits per second.
See also
Getter of property videoBitRate
.
- PySide6.QtMultimedia.QMediaRecorder.videoBitRateChanged()#
Signals when the recording video bit rate changes.
Notification signal of property videoBitRate
.
- PySide6.QtMultimedia.QMediaRecorder.videoFrameRate()#
- Return type:
float
Returns the video frame rate.
See also
Getter of property videoFrameRate
.
- PySide6.QtMultimedia.QMediaRecorder.videoFrameRateChanged()#
Signals when the recording video frame rate changes.
Notification signal of property videoFrameRate
.
- PySide6.QtMultimedia.QMediaRecorder.videoResolution()#
- Return type:
Returns the resolution of the encoded video.
See also
Getter of property videoResolution
.
- PySide6.QtMultimedia.QMediaRecorder.videoResolutionChanged()#
Signals when the video recording resolution changes.
Notification signal of property videoResolution
.