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
| void | audioBufferInputChanged() |
| void | audioInputChanged() |
| void | audioOutputChanged() |
| void | cameraChanged() |
| void | imageCaptureChanged() |
| void | nativeVideoSourceChanged() |
| void | recorderChanged() |
| void | screenCaptureChanged() |
| void | videoFrameInputChanged() |
| void | videoOutputChanged() |
| void | windowCaptureChanged() |
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.