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)
47public:
56 Q_ENUM(Quality)
57
65 Q_ENUM(EncodingMode)
66
68 {
71 PausedState
72 };
73 Q_ENUM(RecorderState)
74
75 enum Error
76 {
81 LocationNotWritable
82 };
84
85 QMediaRecorder(QObject *parent = nullptr);
87
88 bool isAvailable() const;
89
90 QUrl outputLocation() const;
91 void setOutputLocation(const QUrl &location);
92
93 void setOutputDevice(QIODevice *device);
94 QIODevice *outputDevice() const;
95
96 QUrl actualLocation() const;
97
98 RecorderState recorderState() const;
99
100 Error error() const;
101 QString errorString() const;
102
103 qint64 duration() const;
104
105 QMediaFormat mediaFormat() const;
106 void setMediaFormat(const QMediaFormat &format);
107
108 EncodingMode encodingMode() const;
109 void setEncodingMode(EncodingMode);
110
111 Quality quality() const;
112 void setQuality(Quality quality);
113
114 QSize videoResolution() const;
115 void setVideoResolution(const QSize &);
117
118 qreal videoFrameRate() const;
119 void setVideoFrameRate(qreal frameRate);
120
121 int videoBitRate() const;
122 void setVideoBitRate(int bitRate);
123
124 int audioBitRate() const;
125 void setAudioBitRate(int bitRate);
126
127 int audioChannelCount() const;
128 void setAudioChannelCount(int channels);
129
130 int audioSampleRate() const;
131 void setAudioSampleRate(int sampleRate);
132
133 QMediaMetaData metaData() const;
134 void setMetaData(const QMediaMetaData &metaData);
135 void addMetaData(const QMediaMetaData &metaData);
136
137 QMediaCaptureSession *captureSession() const;
138 QPlatformMediaRecorder *platformRecoder() const;
139
140public Q_SLOTS:
141 void record();
142 void pause();
143 void stop();
144
147 void durationChanged(qint64 duration);
150
151 void errorOccurred(Error error, const QString &errorString);
153
155
165
166private:
169 void setCaptureSession(QMediaCaptureSession *session);
170 Q_DISABLE_COPY(QMediaRecorder)
171 Q_DECLARE_PRIVATE(QMediaRecorder)
172};
173
175
178
179#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.
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]