QMediaCaptureSession Class
Die Klasse „QMediaCaptureSession“ ermöglicht die Aufzeichnung von Audio- und Videoinhalten. Mehr...
| Header: | #include <QMediaCaptureSession> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
| In QML: | CaptureSession |
| Erbt von: | QObject |
Eigenschaften
|
|
Öffentliche Funktionen
| 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() |
Signale
| void | audioBufferInputChanged() |
| void | audioInputChanged() |
| void | audioOutputChanged() |
| void | cameraChanged() |
| void | imageCaptureChanged() |
| void | nativeVideoSourceChanged() |
| void | recorderChanged() |
| void | screenCaptureChanged() |
| void | videoFrameInputChanged() |
| void | videoOutputChanged() |
| void | windowCaptureChanged() |
Ausführliche Beschreibung
Die Klasse `QMediaCaptureSession` ist die zentrale Klasse, die die Medienerfassung auf dem lokalen Gerät verwaltet.
Sie können einen Videoeingang über ` setCamera()`, ` setScreenCapture()`, ` setWindowCapture()` oder ` setVideoFrameInput()` mit `QMediaCaptureSession` verbinden. Eine Vorschau der erfassten Medien können Sie anzeigen, indem Sie mit ` setVideoOutput()` einen ` QVideoWidget ` oder ` QGraphicsVideoItem ` festlegen.
Sie können ein Mikrofon über ` setAudioInput()` an `QMediaCaptureSession` anschließen oder Ihren benutzerdefinierten Audioeingang über ` setAudioBufferInput()` festlegen. Der aufgenommene Ton kann wiedergegeben werden, indem das Audiosignal über ` setAudioOutput()` an ein Ausgabegerät weitergeleitet wird.
Sie können Standbilder von einer Kamera aufnehmen, indem Sie ein „ QImageCapture “-Objekt in der Aufnahmesitzung festlegen, und Audio/Video mithilfe von „ QMediaRecorder “ aufzeichnen.
Siehe auch QCamera, QAudioDevice, QMediaRecorder, QImageCapture, QScreenCapture, QWindowCapture, QVideoFrameInput, QGStreamerVideoSource und QGraphicsVideoItem.
Dokumentation zu Eigenschaften
[since 6.8] audioBufferInput : QAudioBufferInput*
Diese Eigenschaft enthält das Objekt, das zum Senden benutzerdefinierter Audio-Puffer an QMediaRecorder verwendet wird.
Diese Aufzählung wurde in Qt 6.8 eingeführt.
Zugriffsfunktionen:
| QAudioBufferInput * | audioBufferInput() const |
| void | setAudioBufferInput(QAudioBufferInput *input) |
Notifier-Signal:
| void | audioBufferInputChanged() |
audioInput : QAudioInput*
Gibt das Gerät zurück, das zur Audioaufnahme verwendet wird.
Zugriffsfunktionen:
| QAudioInput * | audioInput() const |
| void | setAudioInput(QAudioInput *input) |
Benachrichtigungssignal:
| void | audioInputChanged() |
audioOutput : QAudioOutput*
Gibt die Audioausgabe für die Sitzung zurück.
Zugriffsfunktionen:
| QAudioOutput * | audioOutput() const |
| void | setAudioOutput(QAudioOutput *output) |
Benachrichtigungssignal:
| void | audioOutputChanged() |
camera : QCamera*
Diese Eigenschaft gibt die Kamera an, die zur Videoaufnahme verwendet wird.
Nehmen Sie Videos auf oder machen Sie Fotos, indem Sie mithilfe dieser Eigenschaft eine Kamera zur Aufnahmesitzung hinzufügen.
Zugriffsfunktionen:
| QCamera * | camera() const |
| void | setCamera(QCamera *camera) |
Benachrichtigungssignal:
| void | cameraChanged() |
imageCapture : QImageCapture*
Diese Eigenschaft enthält das Objekt, das zur Aufnahme von Standbildern verwendet wird.
Fügen Sie der Aufnahmesitzung ein „ QImageCapture “-Objekt hinzu, um die Aufnahme von Standbildern mit der Kamera zu ermöglichen.
Zugriffsfunktionen:
| QImageCapture * | imageCapture() |
| void | setImageCapture(QImageCapture *imageCapture) |
Benachrichtigungssignal:
| void | imageCaptureChanged() |
[since 6.12] nativeVideoSource : QObject*
Diese Eigenschaft enthält die native Videoquelle, die zur Videoaufnahme verwendet wird.
Derzeit ist es nur möglich, „ QGStreamerVideoSource “ als native Videoquelle festzulegen. In einer Aufnahmesitzung kann jeweils entweder „ QCamera “ oder „ QGStreamerVideoSource “ festgelegt sein.
Diese Aufzählung wurde in Qt 6.12 eingeführt.
Zugriffsfunktionen:
| QObject * | nativeVideoSource() const |
| void | setNativeVideoSource(QObject *videoSource) |
Notifier-Signal:
| void | nativeVideoSourceChanged() |
Siehe auch „ QGStreamerVideoSource “ und „ QCamera “.
recorder : QMediaRecorder*
Diese Eigenschaft enthält das Recorder-Objekt, das zur Aufzeichnung von Audio- und/oder Videodaten verwendet wird.
Fügen Sie der Aufnahmesitzung ein „ QMediaRecorder “-Objekt hinzu, um die Aufnahme von Audio und/oder Video aus der Aufnahmesitzung zu ermöglichen.
Zugriffsfunktionen:
| QMediaRecorder * | recorder() |
| void | setRecorder(QMediaRecorder *recorder) |
Benachrichtigungssignal:
| void | recorderChanged() |
[since 6.5] screenCapture : QScreenCapture*
Diese Eigenschaft enthält das Objekt, das zur Bildschirmaufnahme verwendet wird.
Um einen Bildschirm aufzuzeichnen, fügen Sie mithilfe dieser Eigenschaft ein Bildschirmaufnahmeobjekt zur Aufnahmesitzung hinzu.
Diese Aufzählung wurde in Qt 6.5 eingeführt.
Zugriffsfunktionen:
| QScreenCapture * | screenCapture() |
| void | setScreenCapture(QScreenCapture *screenCapture) |
Notifier-Signal:
| void | screenCaptureChanged() |
[since 6.8] videoFrameInput : QVideoFrameInput*
Diese Eigenschaft enthält das Objekt, das zum Senden benutzerdefinierter Videobilder an QMediaRecorder oder an einen Videoausgang verwendet wird.
Diese Enumeration wurde in Qt 6.8 eingeführt.
Zugriffsfunktionen:
| QVideoFrameInput * | videoFrameInput() const |
| void | setVideoFrameInput(QVideoFrameInput *input) |
Notifier-Signal:
| void | videoFrameInputChanged() |
videoOutput : QObject*
Gibt die Videoausgabe für die Sitzung zurück.
Zugriffsfunktionen:
| QObject * | videoOutput() const |
| void | setVideoOutput(QObject *output) |
Benachrichtigungssignal:
| void | videoOutputChanged() |
[since 6.6] windowCapture : QWindowCapture*
Diese Eigenschaft enthält das Objekt, das zum Erfassen eines Fensters verwendet wird.
Um ein Fenster zu erfassen, fügen Sie mithilfe dieser Eigenschaft ein Fenstererfassungsobjekt zur Erfassungssitzung hinzu.
Diese Aufzählung wurde in Qt 6.6 eingeführt.
Zugriffsfunktionen:
| QWindowCapture * | windowCapture() |
| void | setWindowCapture(QWindowCapture *windowCapture) |
Notifier-Signal:
| void | windowCaptureChanged() |
Dokumentation zu den Mitgliedsfunktionen
[explicit] QMediaCaptureSession::QMediaCaptureSession(QObject *parent = nullptr)
Erstellt eine Sitzung für die Medienerfassung über das „ parent “-Objekt.
[override virtual noexcept] QMediaCaptureSession::~QMediaCaptureSession()
Beendet die Sitzung.
void QMediaCaptureSession::setAudioInput(QAudioInput *input)
Legt das Audio-Eingabegerät auf „ input “ fest. Wird hier ein leeres „ QAudioDevice “ angegeben, verwendet die Aufnahmesitzung die vom Betriebssystem definierte Standardeingabe.
Hinweis: Setter -Funktion für die Eigenschaft ` audioInput`.
Siehe auch „ audioInput()“.
void QMediaCaptureSession::setAudioOutput(QAudioOutput *output)
Legt das Audioausgabegerät auf „ output “ fest.
Durch das Festlegen eines Audioausgabegeräts wird die Audioweiterleitung von einem Audioeingabegerät ermöglicht.
Hinweis: Setter -Funktion für die Eigenschaft „ audioOutput “.
Siehe auch „ audioOutput()“.
void QMediaCaptureSession::setVideoOutput(QObject *output)
Legt einen „ QObject “ (output) als Videovorschau für die Aufnahmesitzung fest.
Eine auf „ QObject “ basierende Vorschau muss über eine aufrufbare Methode „ videoSink()“ verfügen, die ein „ QVideoSink “ zurückgibt.
Die zuvor festgelegte Vorschau wird getrennt.
Hinweis: Setter -Funktion für die Eigenschaft ` videoOutput`.
Siehe auch ` videoOutput()`.
void QMediaCaptureSession::setVideoSink(QVideoSink *sink)
Legt ein ` QVideoSink` (sink) als Videovorschau für die Aufnahmesitzung fest.
Eine auf „ QObject “ basierende Vorschau muss über eine aufrufbare Methode „ videoSink()“ verfügen, die ein „ QVideoSink “ zurückgibt.
Die zuvor festgelegte Vorschau wird getrennt.
Siehe auch ` videoSink()`.
QVideoSink *QMediaCaptureSession::videoSink() const
Gibt den „ QVideoSink “ für die Sitzung zurück.
Siehe auch 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.