Sur cette page

QMediaCaptureSession Class

La classe QMediaCaptureSession permet de capturer du contenu audio et vidéo. En savoir plus...

En-tête : #include <QMediaCaptureSession>
CMake : find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake : QT += multimedia
En QML : CaptureSession
Hérite de : QObject

Propriétés

Fonctions publiques

QMediaCaptureSession(QObject *parent = nullptr)
virtual ~QMediaCaptureSession() override
QAudioBufferInput *audioBufferInput() const
QAudioInput *audioInput() const
QAudioOutput *audioOutput() const
QCamera *camera() const
QImageCapture *imageCapture()
QObject *nativeVideoSource() const
QMediaRecorder *recorder()
QScreenCapture *screenCapture()
void setAudioBufferInput(QAudioBufferInput *input)
void setAudioInput(QAudioInput *input)
void setAudioOutput(QAudioOutput *output)
void setCamera(QCamera *camera)
void setImageCapture(QImageCapture *imageCapture)
void setNativeVideoSource(QObject *videoSource)
void setRecorder(QMediaRecorder *recorder)
void setScreenCapture(QScreenCapture *screenCapture)
void setVideoFrameInput(QVideoFrameInput *input)
void setVideoOutput(QObject *output)
void setVideoSink(QVideoSink *sink)
void setWindowCapture(QWindowCapture *windowCapture)
QVideoFrameInput *videoFrameInput() const
QObject *videoOutput() const
QVideoSink *videoSink() const
QWindowCapture *windowCapture()

Signaux

Description détaillée

La classe QMediaCaptureSession est la classe centrale qui gère la capture de médias sur le périphérique local.

Vous pouvez connecter une entrée vidéo à QMediaCaptureSession à l'aide de setCamera(), setScreenCapture(), setWindowCapture() ou setVideoFrameInput(). Un aperçu du contenu multimédia capturé peut être affiché en définissant un QVideoWidget ou un QGraphicsVideoItem à l'aide de setVideoOutput().

Vous pouvez connecter un microphone à QMediaCaptureSession à l’aide de setAudioInput(), ou définir votre entrée audio personnalisée à l’aide de setAudioBufferInput(). Le son capturé peut être écouté en acheminant l’audio vers un périphérique de sortie à l’aide de setAudioOutput().

Vous pouvez capturer des images fixes à partir d’un appareil photo en configurant un objet ` QImageCapture ` sur la session de capture, et enregistrer du son et de la vidéo à l’aide d’un objet ` QMediaRecorder`.

Voir également QCamera, QAudioDevice, QMediaRecorder, QImageCapture, QScreenCapture, QWindowCapture, QVideoFrameInput, QGStreamerVideoSource et QGraphicsVideoItem.

Documentation relative aux propriétés

[since 6.8] audioBufferInput : QAudioBufferInput*

Cette propriété contient l'objet utilisé pour envoyer des tampons audio personnalisés à QMediaRecorder.

Cette énumération a été introduite dans Qt 6.8.

Fonctions d'accès :

QAudioBufferInput *audioBufferInput() const
void setAudioBufferInput(QAudioBufferInput *input)

Signal de notification :

void audioBufferInputChanged()

audioInput : QAudioInput*

Renvoie le périphérique utilisé pour l'enregistrement audio.

Fonctions d'accès :

QAudioInput *audioInput() const
void setAudioInput(QAudioInput *input)

Signal de notification :

void audioInputChanged()

audioOutput : QAudioOutput*

Renvoie la sortie audio de la session.

Fonctions d'accès :

QAudioOutput *audioOutput() const
void setAudioOutput(QAudioOutput *output)

Signal de notification :

void audioOutputChanged()

camera : QCamera*

Cette propriété indique la caméra utilisée pour enregistrer la vidéo.

Enregistrez une vidéo ou prenez des photos en ajoutant une caméra à la session de capture à l'aide de cette propriété.

Fonctions d'accès :

QCamera *camera() const
void setCamera(QCamera *camera)

Signal de notification :

void cameraChanged()

imageCapture : QImageCapture*

Cette propriété contient l'objet utilisé pour capturer des images fixes.

Ajoutez un objet « QImageCapture » à la session de capture pour permettre la capture d'images fixes à partir de la caméra.

Fonctions d'accès :

QImageCapture *imageCapture()
void setImageCapture(QImageCapture *imageCapture)

Signal de notification :

void imageCaptureChanged()

[since 6.12] nativeVideoSource : QObject*

Cette propriété contient la source vidéo native utilisée pour la capture vidéo.

Pour l'instant, il n'est possible de définir que « QGStreamerVideoSource » comme source vidéo native. Une session de capture peut avoir soit « QCamera », soit « QGStreamerVideoSource » défini à la fois.

Cette énumération a été introduite dans Qt 6.12.

Fonctions d'accès :

QObject *nativeVideoSource() const
void setNativeVideoSource(QObject *videoSource)

Signal de notification :

void nativeVideoSourceChanged()

Voir également QGStreamerVideoSource et QCamera.

recorder : QMediaRecorder*

Cette propriété contient l'objet « recorder » utilisé pour capturer du son et/ou de la vidéo.

Ajoutez un objet « QMediaRecorder » à la session de capture pour permettre l'enregistrement audio et/ou vidéo à partir de cette session.

Fonctions d'accès :

QMediaRecorder *recorder()
void setRecorder(QMediaRecorder *recorder)

Signal de notification :

void recorderChanged()

[since 6.5] screenCapture : QScreenCapture*

Cette propriété contient l'objet utilisé pour effectuer une capture d'écran.

Pour enregistrer un écran, ajoutez un objet de capture d'écran à la session de capture à l'aide de cette propriété.

Cette énumération a été introduite dans Qt 6.5.

Fonctions d'accès :

QScreenCapture *screenCapture()
void setScreenCapture(QScreenCapture *screenCapture)

Signal de notification :

void screenCaptureChanged()

[since 6.8] videoFrameInput : QVideoFrameInput*

Cette propriété contient l'objet utilisé pour envoyer des images vidéo personnalisées à QMediaRecorder ou vers une sortie vidéo.

Cette énumération a été introduite dans Qt 6.8.

Fonctions d'accès :

QVideoFrameInput *videoFrameInput() const
void setVideoFrameInput(QVideoFrameInput *input)

Signal de notification :

void videoFrameInputChanged()

videoOutput : QObject*

Renvoie la sortie vidéo de la session.

Fonctions d'accès :

QObject *videoOutput() const
void setVideoOutput(QObject *output)

Signal de notification :

void videoOutputChanged()

[since 6.6] windowCapture : QWindowCapture*

Cette propriété contient l'objet utilisé pour capturer une fenêtre.

Pour enregistrer une fenêtre, ajoutez un objet de capture de fenêtre à la session de capture à l'aide de cette propriété.

Cette énumération a été introduite dans Qt 6.6.

Fonctions d'accès :

QWindowCapture *windowCapture()
void setWindowCapture(QWindowCapture *windowCapture)

Signal de notification :

void windowCaptureChanged()

Documentation des fonctions membres

[explicit] QMediaCaptureSession::QMediaCaptureSession(QObject *parent = nullptr)

Crée une session de capture multimédia à partir de l'objet ` parent `.

[override virtual noexcept] QMediaCaptureSession::~QMediaCaptureSession()

Supprime la session.

void QMediaCaptureSession::setAudioInput(QAudioInput *input)

Définit le périphérique d'entrée audio sur input. Si vous le définissez sur une chaîne vide QAudioDevice, la session de capture utilisera l'entrée par défaut telle que définie par le système d'exploitation.

Remarque : fonctionde définition de la propriété audioInput.

Voir également audioInput().

void QMediaCaptureSession::setAudioOutput(QAudioOutput *output)

Définit le périphérique de sortie audio sur « output ».

La définition d'un périphérique de sortie audio permet l'acheminement du son depuis un périphérique d'entrée audio.

Remarque : fonctionde définition de la propriété audioOutput.

Voir également audioOutput().

void QMediaCaptureSession::setVideoOutput(QObject *output)

Définit un objet ` QObject` (output) comme aperçu vidéo pour la session de capture.

Un aperçu basé sur un objet ` QObject ` doit disposer d’une méthode ` videoSink()` appelable qui renvoie un objet ` QVideoSink`.

L'aperçu précédemment défini est détaché.

Remarque : fonctionde définition pour la propriété ` videoOutput`.

Voir également videoOutput().

void QMediaCaptureSession::setVideoSink(QVideoSink *sink)

Définit un objet ` QVideoSink` (sink) comme aperçu vidéo pour la session de capture.

Un aperçu basé sur un ` QObject ` doit disposer d'une méthode ` videoSink()` appelable qui renvoie un ` QVideoSink`.

L'aperçu précédemment défini est détaché.

Voir également ` videoSink()`.

QVideoSink *QMediaCaptureSession::videoSink() const

Renvoie l'QVideoSink de la session.

Voir aussi setVideoSink().

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