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>
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) | |
\qmltype CaptureSession | |
~QMediaCaptureSession () | |
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 | 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.
\qmltype CaptureSession
Allows capturing of audio and video content.
\inqmlmodule QtMultimedia
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
Creates a session for media capture from the parent object.
Definition at line 123 of file qmediacapturesession.cpp.
QMediaCaptureSession::~QMediaCaptureSession | ( | ) |
Destroys the session.
Definition at line 142 of file qmediacapturesession.cpp.
QAudioBufferInput * QMediaCaptureSession::audioBufferInput | ( | ) | const |
Definition at line 211 of file qmediacapturesession.cpp.
QAudioInput * QMediaCaptureSession::audioInput | ( | ) | const |
Definition at line 169 of file qmediacapturesession.cpp.
|
signal |
QAudioOutput * QMediaCaptureSession::audioOutput | ( | ) | const |
Definition at line 637 of file qmediacapturesession.cpp.
|
signal |
QCamera * QMediaCaptureSession::camera | ( | ) | const |
Definition at line 261 of file qmediacapturesession.cpp.
|
signal |
QImageCapture * QMediaCaptureSession::imageCapture | ( | ) |
|
signal |
QPlatformMediaCaptureSession * QMediaCaptureSession::platformSession | ( | ) | const |
Definition at line 646 of file qmediacapturesession.cpp.
|
signal |
|
signal |
QMediaRecorder * QMediaCaptureSession::recorder | ( | ) |
|
signal |
QScreenCapture * QMediaCaptureSession::screenCapture | ( | ) |
|
signal |
void QMediaCaptureSession::setAudioBufferInput | ( | QAudioBufferInput * | input | ) |
Definition at line 218 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 180 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 600 of file qmediacapturesession.cpp.
Definition at line 268 of file qmediacapturesession.cpp.
void QMediaCaptureSession::setImageCapture | ( | QImageCapture * | imageCapture | ) |
Definition at line 458 of file qmediacapturesession.cpp.
void QMediaCaptureSession::setRecorder | ( | QMediaRecorder * | recorder | ) |
Definition at line 506 of file qmediacapturesession.cpp.
void QMediaCaptureSession::setScreenCapture | ( | QScreenCapture * | screenCapture | ) |
Definition at line 320 of file qmediacapturesession.cpp.
void QMediaCaptureSession::setVideoFrameInput | ( | QVideoFrameInput * | input | ) |
Definition at line 410 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 558 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 580 of file qmediacapturesession.cpp.
void QMediaCaptureSession::setWindowCapture | ( | QWindowCapture * | windowCapture | ) |
Definition at line 371 of file qmediacapturesession.cpp.
QVideoFrameInput * QMediaCaptureSession::videoFrameInput | ( | ) | const |
Definition at line 404 of file qmediacapturesession.cpp.
QObject * QMediaCaptureSession::videoOutput | ( | ) | const |
Definition at line 545 of file qmediacapturesession.cpp.
|
signal |
QVideoSink * QMediaCaptureSession::videoSink | ( | ) | const |
Returns the QVideoSink for the session.
Definition at line 590 of file qmediacapturesession.cpp.
QWindowCapture * QMediaCaptureSession::windowCapture | ( | ) |
|
signal |
|
friend |
Definition at line 95 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 32 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 33 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 40 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 41 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 34 of file qmediacapturesession.h.
|
readwrite |
The object used to send custom video frames to \l QMediaRecorder or a video output.
Definition at line 38 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 42 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 36 of file qmediacapturesession.h.