23 Q_PROPERTY(QMediaRecorder::RecorderState recorderState READ recorderState NOTIFY recorderStateChanged)
24 Q_PROPERTY(qint64 duration READ duration NOTIFY durationChanged)
25 Q_PROPERTY(QUrl outputLocation READ outputLocation WRITE setOutputLocation)
26 Q_PROPERTY(QUrl actualLocation READ actualLocation NOTIFY actualLocationChanged)
27 Q_PROPERTY(QMediaMetaData metaData READ metaData WRITE setMetaData NOTIFY metaDataChanged)
28 Q_PROPERTY(QMediaRecorder::Error error READ error NOTIFY errorChanged)
29 Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged)
30 Q_PROPERTY(QMediaFormat mediaFormat READ mediaFormat WRITE setMediaFormat NOTIFY mediaFormatChanged)
31 Q_PROPERTY(Quality quality READ quality WRITE setQuality NOTIFY qualityChanged)
32 Q_PROPERTY(QMediaRecorder::EncodingMode encodingMode READ encodingMode WRITE setEncodingMode NOTIFY encodingModeChanged)
33 Q_PROPERTY(QSize videoResolution READ videoResolution WRITE setVideoResolution NOTIFY videoResolutionChanged)
34 Q_PROPERTY(qreal videoFrameRate READ videoFrameRate WRITE setVideoFrameRate NOTIFY videoFrameRateChanged)
35 Q_PROPERTY(
int videoBitRate READ videoBitRate WRITE setVideoBitRate NOTIFY videoBitRateChanged)
36 Q_PROPERTY(
int audioBitRate READ audioBitRate WRITE setAudioBitRate NOTIFY audioBitRateChanged)
37 Q_PROPERTY(
int audioChannelCount READ audioChannelCount WRITE setAudioChannelCount NOTIFY audioChannelCountChanged)
38 Q_PROPERTY(
int audioSampleRate READ audioSampleRate WRITE setAudioSampleRate NOTIFY audioSampleRateChanged)
39 Q_PROPERTY(
bool autoStop READ autoStop WRITE setAutoStop NOTIFY autoStopChanged REVISION(6, 8))
53 ConstantQualityEncoding,
54 ConstantBitRateEncoding,
55 AverageBitRateEncoding,
78 QMediaRecorder(QObject *parent =
nullptr);
79 ~QMediaRecorder() override;
81 bool isAvailable()
const;
83 QUrl outputLocation()
const;
84 void setOutputLocation(
const QUrl &location);
86 void setOutputDevice(QIODevice *device);
87 QIODevice *outputDevice()
const;
89 QUrl actualLocation()
const;
91 RecorderState recorderState()
const;
94 QString errorString()
const;
96 qint64 duration()
const;
98 QMediaFormat mediaFormat()
const;
99 void setMediaFormat(
const QMediaFormat &format);
101 EncodingMode encodingMode()
const;
102 void setEncodingMode(EncodingMode);
104 Quality quality()
const;
105 void setQuality(Quality quality);
107 QSize videoResolution()
const;
108 void setVideoResolution(
const QSize &);
109 void setVideoResolution(
int width,
int height) { setVideoResolution(QSize(width, height)); }
111 qreal videoFrameRate()
const;
112 void setVideoFrameRate(qreal frameRate);
114 int videoBitRate()
const;
115 void setVideoBitRate(
int bitRate);
117 int audioBitRate()
const;
118 void setAudioBitRate(
int bitRate);
120 int audioChannelCount()
const;
121 void setAudioChannelCount(
int channels);
123 int audioSampleRate()
const;
124 void setAudioSampleRate(
int sampleRate);
126 QMediaMetaData metaData()
const;
127 void setMetaData(
const QMediaMetaData &metaData);
128 void addMetaData(
const QMediaMetaData &metaData);
130 bool autoStop()
const;
131 void setAutoStop(
bool autoStop);
133 QMediaCaptureSession *captureSession()
const;
134 QPlatformMediaRecorder *platformRecoder()
const;
142 void recorderStateChanged(RecorderState state);
143 void durationChanged(qint64 duration);
144 void actualLocationChanged(
const QUrl &location);
146#if QT_DEPRECATED_SINCE(6
, 9
)
147 QT_MOC_COMPAT QT_DEPRECATED_VERSION_X_6_9(
"Use specific signals instead")
148 void encoderSettingsChanged();
151 void errorOccurred(Error error,
const QString &errorString);
154 void metaDataChanged();
156 void mediaFormatChanged();
157 void encodingModeChanged();
158 void qualityChanged();
159 void videoResolutionChanged();
160 void videoFrameRateChanged();
161 void videoBitRateChanged();
162 void audioBitRateChanged();
163 void audioChannelCountChanged();
164 void audioSampleRateChanged();
165 Q_REVISION(6, 8)
void autoStopChanged();
168 QMediaRecorderPrivate *d_ptr;
169 friend class QMediaCaptureSession;
170 void setCaptureSession(QMediaCaptureSession *session);
171 Q_DISABLE_COPY(QMediaRecorder)
172 Q_DECLARE_PRIVATE(QMediaRecorder)