![]() |
Qt 6.x
The Qt SDK
|
The QMediaCaptureSession class allows capturing of audio and video content. More...
#include <qmediacapturesession.h>
Signals | |
void | audioInputChanged () |
void | cameraChanged () |
void | screenCaptureChanged () |
void | windowCaptureChanged () |
void | imageCaptureChanged () |
void | recorderChanged () |
void | videoOutputChanged () |
void | audioOutputChanged () |
![]() | |
void | destroyed (QObject *=nullptr) |
This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked. | |
void | objectNameChanged (const QString &objectName, QPrivateSignal) |
This signal is emitted after the object's name has been changed. | |
Public Member Functions | |
QMediaCaptureSession (QObject *parent=nullptr) | |
Creates a session for media capture from the parent object. | |
~QMediaCaptureSession () | |
Destroys the session. | |
QAudioInput * | audioInput () const |
void | setAudioInput (QAudioInput *input) |
Sets the audio input device to input. | |
QCamera * | camera () const |
void | setCamera (QCamera *camera) |
QImageCapture * | imageCapture () |
void | setImageCapture (QImageCapture *imageCapture) |
QScreenCapture * | screenCapture () |
void | setScreenCapture (QScreenCapture *screenCapture) |
QWindowCapture * | windowCapture () |
void | setWindowCapture (QWindowCapture *windowCapture) |
QMediaRecorder * | recorder () |
void | setRecorder (QMediaRecorder *recorder) |
void | setVideoOutput (QObject *output) |
Sets a QObject, (output), to a video preview for the capture session. | |
QObject * | videoOutput () const |
void | setVideoSink (QVideoSink *sink) |
Sets a QVideoSink, (sink), to a video preview for the capture session. | |
QVideoSink * | videoSink () const |
Returns the QVideoSink for the session. | |
void | setAudioOutput (QAudioOutput *output) |
Sets the audio output device to {output}. | |
QAudioOutput * | audioOutput () const |
QPlatformMediaCaptureSession * | platformSession () const |
![]() | |
Q_INVOKABLE | QObject (QObject *parent=nullptr) |
Constructs an object with parent object parent. | |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. | |
virtual bool | event (QEvent *event) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
Filters events if this object has been installed as an event filter for the watched object. | |
QString | objectName () const |
Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
Sets the object's name to name. | |
void | setObjectName (QAnyStringView name) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QBindable< QString > | bindableObjectName () |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false . | |
bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false . | |
bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false . | |
bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false . | |
bool | blockSignals (bool b) noexcept |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. | |
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
template<typename T > | |
T | findChild (const QString &aName=QString(), Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
template<typename T > | |
QList< T > | findChildren (const QString &aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
template<typename T > | |
QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
const QObjectList & | children () const |
Returns a list of child objects. | |
void | setParent (QObject *parent) |
Makes the object a child of parent. | |
void | installEventFilter (QObject *filterObj) |
Installs an event filter filterObj on this object. | |
void | removeEventFilter (QObject *obj) |
Removes an event filter object obj from this object. | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
void | dumpObjectTree () const |
Dumps a tree of children to the debug output. | |
void | dumpObjectInfo () const |
Dumps information about signal connections, etc. | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. | |
bool | setProperty (const char *name, QVariant &&value) |
QVariant | property (const char *name) const |
Returns the value of the object's name property. | |
QList< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () const |
Returns a pointer to the parent object. | |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false . | |
Properties | |
QAudioInput * | audioInput |
\qmlproperty AudioInput QtMultimedia::CaptureSession::audioInput | |
QAudioOutput * | audioOutput |
\qmlproperty AudioOutput QtMultimedia::CaptureSession::audioOutput | |
QCamera * | camera |
\qmlproperty Camera QtMultimedia::CaptureSession::camera | |
QScreenCapture * | screenCapture |
\qmlproperty ScreenCapture QtMultimedia::CaptureSession::screenCapture | |
QWindowCapture * | windowCapture |
\qmlproperty WindowCapture QtMultimedia::CaptureSession::windowCapture | |
QImageCapture * | imageCapture |
\qmlproperty ImageCapture QtMultimedia::CaptureSession::imageCapture | |
QMediaRecorder * | recorder |
\qmlproperty MediaRecorder QtMultimedia::CaptureSession::recorder | |
QObject * | videoOutput |
\qmlproperty VideoOutput QtMultimedia::CaptureSession::videoOutput | |
![]() | |
QString | objectName |
the name of this object | |
Additional Inherited Members | |
![]() | |
void | deleteLater () |
\threadsafe | |
![]() | |
static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
\threadsafe | |
static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
\threadsafe | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static bool | disconnect (const QMetaObject::Connection &) |
Disconnect a connection. | |
template<typename Func1 , typename Func2 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
template<typename Func1 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
![]() | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. | |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
This event handler can be reimplemented in a subclass to receive timer events for the object. | |
virtual void | childEvent (QChildEvent *event) |
This event handler can be reimplemented in a subclass to receive child events. | |
virtual void | customEvent (QEvent *event) |
This event handler can be reimplemented in a subclass to receive custom events. | |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
![]() | |
QScopedPointer< QObjectData > | d_ptr |
![]() | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
The QMediaCaptureSession class allows capturing of audio and video content.
\inmodule QtMultimedia
The QMediaCaptureSession is the central class that manages capturing of media on the local device.
You can connect a video input to QMediaCaptureSession using setCamera(), setScreenCapture() or setWindowCapture(). A preview of the captured media can be seen by setting a QVideoWidget or QGraphicsVideoItem using setVideoOutput().
You can connect a microphone to QMediaCaptureSession using setAudioInput(). The captured sound can be heard by routing the audio to an output device using setAudioOutput().
You can capture still images from a camera by setting a QImageCapture object on the capture session, and record audio/video using a QMediaRecorder.
Definition at line 24 of file qmediacapturesession.h.
Creates a session for media capture from the parent object.
\qmltype CaptureSession \since 6.2 \instantiates QMediaCaptureSession \brief Allows capturing of audio and video content. \inqmlmodule QtMultimedia \ingroup multimedia_qml \ingroup multimedia_audio_qml \ingroup multimedia_video_qml This is the central type that manages capturing of media on the local device. Connect a camera and a microphone to a CaptureSession by assigning Camera and AudioInput objects to the relevant properties. Capture a screen by connecting a ScreenCapture object to the screenCapture property. Capture a window by connecting a WindowCapture object to the windowCapture property. Enable a preview of the captured media by assigning a VideoOutput element to the videoOutput property. Route audio to an output device by assigning an AudioOutput object to the audioOutput property. Capture still images from a camera by assigning an ImageCapture to the imageCapture property. Record audio/video by assigning a MediaRecorder to the recorder property.
\qml CaptureSession { id: captureSession camera: Camera { id: camera } imageCapture: ImageCapture { id: imageCapture }
recorder: MediaRecorder { id: recorder } videoOutput: preview } \endqml
\sa Camera, MediaDevices, MediaRecorder, ImageCapture, ScreenCapture, WindowCapture, AudioInput, VideoOutput
Definition at line 131 of file qmediacapturesession.cpp.
References QMediaCaptureSessionPrivate::captureSession, QPlatformMediaIntegration::createCaptureSession(), QPlatformMediaIntegration::instance(), QMediaCaptureSessionPrivate::q, qWarning, and QPlatformMediaCaptureSession::setCaptureSession().
QMediaCaptureSession::~QMediaCaptureSession | ( | ) |
Destroys the session.
Definition at line 148 of file qmediacapturesession.cpp.
References QMediaCaptureSessionPrivate::captureSession, setAudioInput(), setAudioOutput(), setCamera(), setImageCapture(), setRecorder(), setScreenCapture(), QMediaCaptureSessionPrivate::setVideoSink(), and setWindowCapture().
QAudioInput * QMediaCaptureSession::audioInput | ( | ) | const |
Definition at line 172 of file qmediacapturesession.cpp.
References QMediaCaptureSessionPrivate::audioInput.
|
signal |
QAudioOutput * QMediaCaptureSession::audioOutput | ( | ) | const |
Definition at line 529 of file qmediacapturesession.cpp.
References d.
|
signal |
QCamera * QMediaCaptureSession::camera | ( | ) | const |
Definition at line 217 of file qmediacapturesession.cpp.
References QMediaCaptureSessionPrivate::camera.
|
signal |
QImageCapture * QMediaCaptureSession::imageCapture | ( | ) |
|
signal |
QPlatformMediaCaptureSession * QMediaCaptureSession::platformSession | ( | ) | const |
Definition at line 538 of file qmediacapturesession.cpp.
References QMediaCaptureSessionPrivate::captureSession.
QMediaRecorder * QMediaCaptureSession::recorder | ( | ) |
|
signal |
QScreenCapture * QMediaCaptureSession::screenCapture | ( | ) |
|
signal |
void QMediaCaptureSession::setAudioInput | ( | QAudioInput * | input | ) |
Sets the audio input device to input.
If setting it to an empty QAudioDevice the capture session will use the default input as defined by the operating system.
Definition at line 182 of file qmediacapturesession.cpp.
References QMediaCaptureSessionPrivate::audioInput, audioInputChanged(), QMediaCaptureSessionPrivate::captureSession, emit, setAudioInput(), and QPlatformMediaCaptureSession::setAudioInput().
Referenced by ~QMediaCaptureSession(), and setAudioInput().
void QMediaCaptureSession::setAudioOutput | ( | QAudioOutput * | output | ) |
Sets the audio output device to {output}.
Setting an audio output device enables audio routing from an audio input device.
Definition at line 500 of file qmediacapturesession.cpp.
References QMediaCaptureSessionPrivate::audioOutput, audioOutputChanged(), QMediaCaptureSessionPrivate::captureSession, emit, output, setAudioOutput(), and QPlatformMediaCaptureSession::setAudioOutput().
Referenced by ~QMediaCaptureSession(), and setAudioOutput().
Definition at line 222 of file qmediacapturesession.cpp.
References QMediaCaptureSessionPrivate::camera, camera, cameraChanged(), QCamera::captureSession(), QMediaCaptureSessionPrivate::captureSession, emit, setCamera(), and QPlatformMediaCaptureSession::setCamera().
Referenced by ~QMediaCaptureSession(), camera_blah(), overview_movie(), overview_still(), overview_surface(), overview_viewfinder(), and setCamera().
void QMediaCaptureSession::setImageCapture | ( | QImageCapture * | imageCapture | ) |
Definition at line 362 of file qmediacapturesession.cpp.
References QImageCapture::captureSession(), QMediaCaptureSessionPrivate::captureSession, emit, QMediaCaptureSessionPrivate::imageCapture, imageCapture, imageCaptureChanged(), setImageCapture(), and QPlatformMediaCaptureSession::setImageCapture().
Referenced by QImageCapture::~QImageCapture(), ~QMediaCaptureSession(), camera_blah(), overview_still(), and setImageCapture().
void QMediaCaptureSession::setRecorder | ( | QMediaRecorder * | recorder | ) |
Definition at line 407 of file qmediacapturesession.cpp.
References QMediaCaptureSessionPrivate::captureSession, QMediaRecorder::captureSession(), emit, QMediaRecorder::platformRecoder(), QMediaCaptureSessionPrivate::recorder, recorder, recorderChanged(), QPlatformMediaCaptureSession::setMediaRecorder(), and setRecorder().
Referenced by ~QMediaCaptureSession(), QMediaRecorder::~QMediaRecorder(), overview_movie(), and setRecorder().
void QMediaCaptureSession::setScreenCapture | ( | QScreenCapture * | screenCapture | ) |
Definition at line 270 of file qmediacapturesession.cpp.
References QMediaCaptureSessionPrivate::captureSession, QScreenCapture::captureSession(), emit, QMediaCaptureSessionPrivate::screenCapture, screenCapture, screenCaptureChanged(), QPlatformMediaCaptureSession::setScreenCapture(), and setScreenCapture().
Referenced by ~QMediaCaptureSession(), and setScreenCapture().
Sets a QObject, (output), to a video preview for the capture session.
A QObject based preview is expected to have an invokable videoSink() method that returns a QVideoSink.
The previously set preview is detached.
Definition at line 458 of file qmediacapturesession.cpp.
References d, mo, output, and Q_RETURN_ARG.
Referenced by camera_blah(), overview_surface(), and overview_viewfinder().
void QMediaCaptureSession::setVideoSink | ( | QVideoSink * | sink | ) |
Sets a QVideoSink, (sink), to a video preview for the capture session.
A QObject based preview is expected to have an invokable videoSink() method that returns a QVideoSink.
The previously set preview is detached.
Definition at line 480 of file qmediacapturesession.cpp.
References d.
void QMediaCaptureSession::setWindowCapture | ( | QWindowCapture * | windowCapture | ) |
Definition at line 317 of file qmediacapturesession.cpp.
References QMediaCaptureSessionPrivate::captureSession, QWindowCapture::captureSession(), emit, QPlatformMediaCaptureSession::setWindowCapture(), setWindowCapture(), QMediaCaptureSessionPrivate::windowCapture, windowCapture, and windowCaptureChanged().
Referenced by ~QMediaCaptureSession(), and setWindowCapture().
QObject * QMediaCaptureSession::videoOutput | ( | ) | const |
Definition at line 445 of file qmediacapturesession.cpp.
References d.
|
signal |
QVideoSink * QMediaCaptureSession::videoSink | ( | ) | const |
Returns the QVideoSink for the session.
Definition at line 490 of file qmediacapturesession.cpp.
References d.
QWindowCapture * QMediaCaptureSession::windowCapture | ( | ) |
|
signal |
|
readwrite |
\qmlproperty AudioInput QtMultimedia::CaptureSession::audioInput
This property holds the audio input that is being used to capture audio.
Returns the device that is being used to capture audio.
Definition at line 86 of file qmediacapturesession.h.
|
readwrite |
\qmlproperty AudioOutput QtMultimedia::CaptureSession::audioOutput
The audio output device for the capture session.
Add an AudioOutput device to the capture session to enable audio routing from an AudioInput device.
Returns the audio output for the session.
Definition at line 86 of file qmediacapturesession.h.
|
readwrite |
\qmlproperty Camera QtMultimedia::CaptureSession::camera
The camera used to capture video.
Record video or take images by adding a camera to the capture session using this property.
The camera used to capture video.
Record video or take images by adding a camera to the capture session using this property.
Definition at line 86 of file qmediacapturesession.h.
Referenced by setCamera().
|
readwrite |
\qmlproperty ImageCapture QtMultimedia::CaptureSession::imageCapture
The object used to capture still images.
Add an ImageCapture interface to the capture session to enable capturing of still images from the camera.
the object used to capture still images.
Add a QImageCapture object to the capture session to enable capturing of still images from the camera.
Definition at line 86 of file qmediacapturesession.h.
Referenced by setImageCapture().
|
readwrite |
\qmlproperty MediaRecorder QtMultimedia::CaptureSession::recorder
The recorder object used to capture audio/video.
Add a MediaRcorder object to the capture session to enable recording of audio and/or video from the capture session.
The recorder object used to capture audio/video.
Add a QMediaRecorder object to the capture session to enable recording of audio and/or video from the capture session.
Definition at line 86 of file qmediacapturesession.h.
Referenced by setRecorder().
|
readwrite |
\qmlproperty ScreenCapture QtMultimedia::CaptureSession::screenCapture
The object used to capture a screen.
Record a screen by adding a screen capture objet to the capture session using this property.
The object used to capture a screen.
Record a screen by adding a screen capture object to the capture session using this property.
Definition at line 86 of file qmediacapturesession.h.
Referenced by setScreenCapture().
|
readwrite |
\qmlproperty VideoOutput QtMultimedia::CaptureSession::videoOutput
The VideoOutput that is the video preview for the capture session.
A VideoOutput based preview is expected to have an invokable videoSink() method that returns a QVideoSink.
The previously set preview is detached.
Returns the video output for the session.
Definition at line 86 of file qmediacapturesession.h.
|
readwrite |
\qmlproperty WindowCapture QtMultimedia::CaptureSession::windowCapture
The object used to capture a window.
Record a window by adding a window capture object to the capture session using this property.
The object used to capture a window.
Record a window by adding a window capture objet to the capture session using this property.
Definition at line 86 of file qmediacapturesession.h.
Referenced by setWindowCapture().