QMediaCaptureSession Class
The QMediaCaptureSession class allows capturing of audio and video content. More...
Header: | #include <QMediaCaptureSession> |
CMake: | find_package(Qt6 COMPONENTS Multimedia REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
qmake: | QT += multimedia |
Instantiated By: | CaptureSession |
Inherits: | QObject |
Properties
- camera : QCamera*
- imageCapture : QImageCapture*
- recorder : QMediaRecorder*
Public Functions
QMediaCaptureSession(QObject *parent = nullptr) | |
virtual | ~QMediaCaptureSession() |
QAudioInput * | audioInput() const |
QAudioOutput * | audioOutput() const |
QCamera * | camera() const |
QImageCapture * | imageCapture() |
QMediaRecorder * | recorder() |
void | setAudioInput(QAudioInput *input) |
void | setAudioOutput(QAudioOutput *output) |
void | setCamera(QCamera *camera) |
void | setImageCapture(QImageCapture *imageCapture) |
void | setRecorder(QMediaRecorder *recorder) |
void | setVideoOutput(QObject *output) |
void | setVideoSink(QVideoSink *sink) |
QObject * | videoOutput() const |
Signals
void | audioInputChanged() |
void | audioOutputChanged() |
void | cameraChanged() |
void | imageCaptureChanged() |
void | recorderChanged() |
void | videoOutputChanged() |
Detailed Description
The QMediaCaptureSession is the central class that manages capturing of media on the local device.
You can connect a camera and a microphone to QMediaCaptureSession using setCamera() and setAudioInput(). A preview of the captured media can be seen by setting a QVideoSink of QVideoWidget using setVideoOutput() and 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.
See also QCamera, QAudioDevice, QMediaRecorder, QImageCapture, and QMediaRecorder.
Property Documentation
camera : QCamera*
This property holds the camera used to capture video.
Record video or take images by adding a camera to the capture session using this property,
Access functions:
QCamera * | camera() const |
void | setCamera(QCamera *camera) |
Notifier signal:
void | cameraChanged() |
imageCapture : QImageCapture*
This property holds the object used to capture still images.
Add a QImageCapture object to the capture session to enable capturing of still images from the camera.
Access functions:
QImageCapture * | imageCapture() |
void | setImageCapture(QImageCapture *imageCapture) |
Notifier signal:
void | imageCaptureChanged() |
recorder : QMediaRecorder*
This property holds 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.
Access functions:
QMediaRecorder * | recorder() |
void | setRecorder(QMediaRecorder *recorder) |
Notifier signal:
void | recorderChanged() |
Member Function Documentation
QMediaCaptureSession::QMediaCaptureSession(QObject *parent = nullptr)
Creates a session for media capture from the parent object.
[virtual]
QMediaCaptureSession::~QMediaCaptureSession()
Destroys the session.
QAudioInput *QMediaCaptureSession::audioInput() const
Returns the device that is being used to capture audio.
Note: Getter function for property audioInput.
See also setAudioInput().
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.
Note: Setter function for property audioInput.
See also audioInput().
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.
Note: Setter function for property audioOutput.
See also audioOutput().
void QMediaCaptureSession::setVideoOutput(QObject *output)
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.
Note: Setter function for property videoOutput.
See also videoOutput().
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.
© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.