![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
The QMediaCaptureSession class allows capturing of audio and video content. More...
#include <qmediacapturesession.h>
Classes | |
| struct | ObjectTraits< QCamera > |
| \qmltype CaptureSession More... | |
| struct | ObjectTraits< QScreenCapture > |
| struct | ObjectTraits< QWindowCapture > |
| struct | ObjectTraits< QVideoFrameInput > |
| struct | ObjectTraits< QAudioBufferInput > |
| struct | ObjectTraits< QImageCapture > |
| struct | ObjectTraits< QMediaRecorder > |
Signals | |
| void | audioInputChanged () |
| Q_REVISION (6, 8) void audioBufferInputChanged() | |
| void | cameraChanged () |
| void | screenCaptureChanged () |
| void | windowCaptureChanged () |
| Q_REVISION (6, 8) void videoFrameInputChanged() | |
| void | imageCaptureChanged () |
| void | recorderChanged () |
| void | videoOutputChanged () |
| void | audioOutputChanged () |
| Signals inherited from QObject | |
| 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 () override | |
| Destroys the session. | |
| QAudioInput * | audioInput () const |
| void | setAudioInput (QAudioInput *input) |
| Sets the audio input device to input. | |
| QAudioBufferInput * | audioBufferInput () const |
| void | setAudioBufferInput (QAudioBufferInput *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) |
| QVideoFrameInput * | videoFrameInput () const |
| void | setVideoFrameInput (QVideoFrameInput *input) |
| 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 |
| Public Member Functions inherited from QObject | |
| 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 | isQmlExposed () const noexcept |
| Returns whether the object has been created by the QML engine or ownership has been explicitly set via QJSEngine::setObjectOwnership(). | |
| 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. | |
| bool | moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL) |
Changes the thread affinity for this object and its children and returns true on success. | |
| 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::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
| void | killTimer (int id) |
| Kills the timer with timer identifier, id. | |
| void | killTimer (Qt::TimerId id) |
| template<typename T> | |
| T | findChild (QAnyStringView aName, 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 (QAnyStringView 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> | |
| T | findChild (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. | |
| 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 | |
| QAudioBufferInput * | audioBufferInput |
| The object used to send custom audio buffers to \l QMediaRecorder. | |
| 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 | |
| QVideoFrameInput * | videoFrameInput |
| The object used to send custom video frames to \l QMediaRecorder or a video output. | |
| QImageCapture * | imageCapture |
| \qmlproperty ImageCapture QtMultimedia::CaptureSession::imageCapture | |
| QMediaRecorder * | recorder |
| \qmlproperty MediaRecorder QtMultimedia::CaptureSession::recorder | |
| QObject * | videoOutput |
| \qmlproperty VideoOutput QtMultimedia::CaptureSession::videoOutput | |
| Properties inherited from QObject | |
| QString | objectName |
| the name of this object | |
Friends | |
| class | QPlatformMediaCaptureSession |
Additional Inherited Members | |
| Public Slots inherited from QObject | |
| void | deleteLater () |
| \threadsafe | |
| Static Public Member Functions inherited from QObject | |
| 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) |
| Protected Member Functions inherited from QObject | |
| 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) | |
| Protected Attributes inherited from QObject | |
| QScopedPointer< QObjectData > | d_ptr |
| Related Symbols inherited from QObject | |
| 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(), setWindowCapture() or setVideoFrameInput(). 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(), or set your custom audio input using setAudioBufferInput(). 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 26 of file qmediacapturesession.h.
Creates a session for media capture from the parent object.
Definition at line 232 of file qmediacapturesession.cpp.
|
override |
Destroys the session.
Definition at line 249 of file qmediacapturesession.cpp.
| QAudioBufferInput * QMediaCaptureSession::audioBufferInput | ( | ) | const |
Definition at line 319 of file qmediacapturesession.cpp.
| QAudioInput * QMediaCaptureSession::audioInput | ( | ) | const |
Definition at line 276 of file qmediacapturesession.cpp.
|
signal |
| QAudioOutput * QMediaCaptureSession::audioOutput | ( | ) | const |
Definition at line 608 of file qmediacapturesession.cpp.
|
signal |
| QCamera * QMediaCaptureSession::camera | ( | ) | const |
Definition at line 348 of file qmediacapturesession.cpp.
|
signal |
| QImageCapture * QMediaCaptureSession::imageCapture | ( | ) |
|
signal |
| QPlatformMediaCaptureSession * QMediaCaptureSession::platformSession | ( | ) | const |
Definition at line 617 of file qmediacapturesession.cpp.
|
signal |
|
signal |
| QMediaRecorder * QMediaCaptureSession::recorder | ( | ) |
|
signal |
| QScreenCapture * QMediaCaptureSession::screenCapture | ( | ) |
|
signal |
| void QMediaCaptureSession::setAudioBufferInput | ( | QAudioBufferInput * | input | ) |
Definition at line 326 of file qmediacapturesession.cpp.
| 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 287 of file qmediacapturesession.cpp.
| 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 571 of file qmediacapturesession.cpp.
Definition at line 354 of file qmediacapturesession.cpp.
| void QMediaCaptureSession::setImageCapture | ( | QImageCapture * | imageCapture | ) |
Definition at line 469 of file qmediacapturesession.cpp.
| void QMediaCaptureSession::setRecorder | ( | QMediaRecorder * | recorder | ) |
Definition at line 496 of file qmediacapturesession.cpp.
| void QMediaCaptureSession::setScreenCapture | ( | QScreenCapture * | screenCapture | ) |
Definition at line 394 of file qmediacapturesession.cpp.
| void QMediaCaptureSession::setVideoFrameInput | ( | QVideoFrameInput * | input | ) |
Definition at line 442 of file qmediacapturesession.cpp.
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 529 of file qmediacapturesession.cpp.
| 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 551 of file qmediacapturesession.cpp.
| void QMediaCaptureSession::setWindowCapture | ( | QWindowCapture * | windowCapture | ) |
Definition at line 424 of file qmediacapturesession.cpp.
| QVideoFrameInput * QMediaCaptureSession::videoFrameInput | ( | ) | const |
Definition at line 436 of file qmediacapturesession.cpp.
| QObject * QMediaCaptureSession::videoOutput | ( | ) | const |
Definition at line 516 of file qmediacapturesession.cpp.
|
signal |
| QVideoSink * QMediaCaptureSession::videoSink | ( | ) | const |
Returns the QVideoSink for the session.
Definition at line 561 of file qmediacapturesession.cpp.
| QWindowCapture * QMediaCaptureSession::windowCapture | ( | ) |
|
signal |
|
friend |
Definition at line 91 of file qmediacapturesession.h.
|
readwrite |
The object used to send custom audio buffers to \l QMediaRecorder.
Definition at line 30 of file qmediacapturesession.h.
|
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 29 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 31 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 32 of file qmediacapturesession.h.
|
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 36 of file qmediacapturesession.h.
|
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 37 of file qmediacapturesession.h.
|
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 33 of file qmediacapturesession.h.
|
readwrite |
The object used to send custom video frames to \l QMediaRecorder or a video output.
Definition at line 35 of file qmediacapturesession.h.
|
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 38 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 34 of file qmediacapturesession.h.