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

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

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.