Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qmediarecorder.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QMediaRecorder_H
5#define QMediaRecorder_H
6
7#include <QtCore/qobject.h>
8#include <QtCore/qsize.h>
9#include <QtMultimedia/qtmultimediaglobal.h>
10#include <QtMultimedia/qmediaenumdebug.h>
11#include <QtMultimedia/qmediametadata.h>
12
13#include <QtCore/qpair.h>
14
16
17class QUrl;
18class QSize;
19class QAudioFormat;
20class QCamera;
21class QCameraDevice;
22class QMediaFormat;
23class QAudioDevice;
26
28class Q_MULTIMEDIA_EXPORT QMediaRecorder : public QObject
29{
31 Q_PROPERTY(QMediaRecorder::RecorderState recorderState READ recorderState NOTIFY recorderStateChanged)
32 Q_PROPERTY(qint64 duration READ duration NOTIFY durationChanged)
33 Q_PROPERTY(QUrl outputLocation READ outputLocation WRITE setOutputLocation)
34 Q_PROPERTY(QUrl actualLocation READ actualLocation NOTIFY actualLocationChanged)
35 Q_PROPERTY(QMediaMetaData metaData READ metaData WRITE setMetaData NOTIFY metaDataChanged)
36 Q_PROPERTY(QMediaRecorder::Error error READ error NOTIFY errorChanged)
37 Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged)
38 Q_PROPERTY(QMediaFormat mediaFormat READ mediaFormat WRITE setMediaFormat NOTIFY mediaFormatChanged)
39 Q_PROPERTY(Quality quality READ quality WRITE setQuality NOTIFY qualityChanged)
40 Q_PROPERTY(QMediaRecorder::EncodingMode encodingMode READ encodingMode WRITE setEncodingMode NOTIFY encodingModeChanged)
41 Q_PROPERTY(QSize videoResolution READ videoResolution WRITE setVideoResolution NOTIFY videoResolutionChanged)
42 Q_PROPERTY(qreal videoFrameRate READ videoFrameRate WRITE setVideoFrameRate NOTIFY videoFrameRateChanged)
43 Q_PROPERTY(int videoBitRate READ videoBitRate WRITE setVideoBitRate NOTIFY videoBitRateChanged)
44 Q_PROPERTY(int audioBitRate READ audioBitRate WRITE setAudioBitRate NOTIFY audioBitRateChanged)
45 Q_PROPERTY(int audioChannelCount READ audioChannelCount WRITE setAudioChannelCount NOTIFY audioChannelCountChanged)
46 Q_PROPERTY(int audioSampleRate READ audioSampleRate WRITE setAudioSampleRate NOTIFY audioSampleRateChanged)
47 Q_PROPERTY(bool autoStop READ autoStop WRITE setAutoStop NOTIFY autoStopChanged)
48public:
57 Q_ENUM(Quality)
58
66 Q_ENUM(EncodingMode)
67
69 {
72 PausedState
73 };
74 Q_ENUM(RecorderState)
75
76 enum Error
77 {
82 LocationNotWritable
83 };
85
86 QMediaRecorder(QObject *parent = nullptr);
88
89 bool isAvailable() const;
90
91 QUrl outputLocation() const;
92 void setOutputLocation(const QUrl &location);
93
94 void setOutputDevice(QIODevice *device);
95 QIODevice *outputDevice() const;
96
97 QUrl actualLocation() const;
98
99 RecorderState recorderState() const;
100
101 Error error() const;
102 QString errorString() const;
103
104 qint64 duration() const;
105
106 QMediaFormat mediaFormat() const;
107 void setMediaFormat(const QMediaFormat &format);
108
109 EncodingMode encodingMode() const;
110 void setEncodingMode(EncodingMode);
111
112 Quality quality() const;
113 void setQuality(Quality quality);
114
115 QSize videoResolution() const;
116 void setVideoResolution(const QSize &);
118
119 qreal videoFrameRate() const;
120 void setVideoFrameRate(qreal frameRate);
121
122 int videoBitRate() const;
123 void setVideoBitRate(int bitRate);
124
125 int audioBitRate() const;
126 void setAudioBitRate(int bitRate);
127
128 int audioChannelCount() const;
129 void setAudioChannelCount(int channels);
130
131 int audioSampleRate() const;
132 void setAudioSampleRate(int sampleRate);
133
134 QMediaMetaData metaData() const;
135 void setMetaData(const QMediaMetaData &metaData);
136 void addMetaData(const QMediaMetaData &metaData);
137
138 bool autoStop() const;
139 void setAutoStop(bool autoStop);
140
141 QMediaCaptureSession *captureSession() const;
142 QPlatformMediaRecorder *platformRecoder() const;
143
144public Q_SLOTS:
145 void record();
146 void pause();
147 void stop();
148
151 void durationChanged(qint64 duration);
154
155 void errorOccurred(Error error, const QString &errorString);
157
159
170
171private:
174 void setCaptureSession(QMediaCaptureSession *session);
175 Q_DISABLE_COPY(QMediaRecorder)
176 Q_DECLARE_PRIVATE(QMediaRecorder)
177};
178
180
183
184#endif // QMediaRecorder_H
IOBluetoothDevice * device
The QAudioDevice class provides an information about audio devices and their functionality.
The QAudioFormat class stores audio stream parameter information.
The QCameraDevice class provides general information about camera devices.
The QCamera class provides interface for system camera devices.
Definition qcamera.h:28
\inmodule QtCore \reentrant
Definition qiodevice.h:34
The QMediaCaptureSession class allows capturing of audio and video content.
\inmodule QtMultimedia
\inmodule QtMultimedia
\inmodule QtMultimedia
void setVideoResolution(int width, int height)
Sets the width and height of the resolution of the encoded video.
EncodingMode
Enumerates encoding modes.
void recorderStateChanged(RecorderState state)
\qmlsignal QtMultimedia::MediaRecorder::recorderStateChanged(RecorderState state)
void durationChanged(qint64 duration)
\qmlsignal QtMultimedia::MediaRecorder::durationChanged(qint64 duration)
void errorChanged()
void mediaFormatChanged()
void encodingModeChanged()
Signals when the encoding mode changes.
void videoBitRateChanged()
Signals when the recording video bit rate changes.
void videoFrameRateChanged()
Signals when the recording video frame rate changes.
void encoderSettingsChanged()
Signals when the encoder settings change.
RecorderState
\qmlproperty enumeration QtMultimedia::MediaRecorder::recorderState
void audioBitRateChanged()
Signals when the recording audio bit rate changes.
Quality
\qmlproperty enumeration QtMultimedia::MediaRecorder::quality
void errorOccurred(Error error, const QString &errorString)
\qmlsignal QtMultimedia::MediaRecorder::errorOccurred(Error error, const QString &errorString)
void metaDataChanged()
\qmlsignal QtMultimedia::MediaRecorder::metaDataChanged()
void qualityChanged()
Signals when the recording quality changes.
void audioChannelCountChanged()
Signals when the recording audio channel count changes.
void audioSampleRateChanged()
Signals when the recording audio sample rate changes.
void autoStopChanged()
Error
\qmlproperty enumeration QtMultimedia::MediaRecorder::error
void actualLocationChanged(const QUrl &location)
\qmlsignal QtMultimedia::MediaRecorder::actualLocationChanged(const QUrl &location)
void videoResolutionChanged()
Signals when the video recording resolution changes.
\inmodule QtCore
Definition qobject.h:103
\inmodule QtCore
Definition qsize.h:25
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qurl.h:94
else opt state
[0]
Combined button and popup list for selecting options.
DBusConnection const char DBusError * error
#define Q_MEDIA_ENUM_DEBUG(Class, Enum)
GLint location
GLint GLsizei GLsizei height
GLint GLsizei width
GLint GLsizei GLsizei GLenum format
#define Q_ENUM(x)
#define Q_PROPERTY(...)
#define Q_OBJECT
#define Q_SLOTS
#define Q_SIGNALS
long long qint64
Definition qtypes.h:60
double qreal
Definition qtypes.h:187
MyRecord record(int row) const
[0]