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.
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.