QMediaRecorder Class
Die Klasse QMediaRecorder wird für die Codierung und Aufzeichnung einer Aufnahmesitzung verwendet. Mehr...
Kopfzeile: | #include <QMediaRecorder> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
qmake: | QT += multimedia |
In QML: | MediaRecorder |
Vererbt: | QObject |
Öffentliche Typen
enum | EncodingMode { ConstantQualityEncoding, ConstantBitRateEncoding, AverageBitRateEncoding, TwoPassEncoding } |
enum | Error { NoError, ResourceError, FormatError, OutOfSpaceError, LocationNotWritable } |
enum | Quality { VeryLowQuality, LowQuality, NormalQuality, HighQuality, VeryHighQuality } |
enum | RecorderState { StoppedState, RecordingState, PausedState } |
Eigenschaften
|
|
Öffentliche Funktionen
QMediaRecorder(QObject *parent = nullptr) | |
virtual | ~QMediaRecorder() override |
QUrl | actualLocation() const |
void | addMetaData(const QMediaMetaData &metaData) |
int | audioBitRate() const |
int | audioChannelCount() const |
int | audioSampleRate() const |
bool | autoStop() const |
QMediaCaptureSession * | captureSession() const |
qint64 | duration() const |
QMediaRecorder::EncodingMode | encodingMode() const |
QMediaRecorder::Error | error() const |
QString | errorString() const |
bool | isAvailable() const |
QMediaFormat | mediaFormat() const |
QMediaMetaData | metaData() const |
QIODevice * | outputDevice() const |
QUrl | outputLocation() const |
QMediaRecorder::Quality | quality() const |
QMediaRecorder::RecorderState | recorderState() const |
void | setAudioBitRate(int bitRate) |
void | setAudioChannelCount(int channels) |
void | setAudioSampleRate(int sampleRate) |
void | setAutoStop(bool autoStop) |
void | setEncodingMode(QMediaRecorder::EncodingMode mode) |
void | setMediaFormat(const QMediaFormat &format) |
void | setMetaData(const QMediaMetaData &metaData) |
void | setOutputDevice(QIODevice *device) |
void | setOutputLocation(const QUrl &location) |
void | setQuality(QMediaRecorder::Quality quality) |
void | setVideoBitRate(int bitRate) |
void | setVideoFrameRate(qreal frameRate) |
void | setVideoResolution(const QSize &size) |
void | setVideoResolution(int width, int height) |
int | videoBitRate() const |
qreal | videoFrameRate() const |
QSize | videoResolution() const |
Öffentliche Slots
Signale
void | actualLocationChanged(const QUrl &location) |
void | audioBitRateChanged() |
void | audioChannelCountChanged() |
void | audioSampleRateChanged() |
void | autoStopChanged() |
void | durationChanged(qint64 duration) |
void | encoderSettingsChanged() |
void | encodingModeChanged() |
void | errorChanged() |
void | errorOccurred(QMediaRecorder::Error error, const QString &errorString) |
void | mediaFormatChanged() |
void | metaDataChanged() |
void | qualityChanged() |
void | recorderStateChanged(QMediaRecorder::RecorderState state) |
void | videoBitRateChanged() |
void | videoFrameRateChanged() |
void | videoResolutionChanged() |
Detaillierte Beschreibung
Verwenden Sie die Klasse QMediaRecorder, um Medien zu kodieren und aufzuzeichnen, die in QMediaCaptureSession erzeugt wurden. Sie können erzeugen:
- Audio. Verwenden Sie QAudioInput oder QAudioBufferInput.
- Video. Verwenden Sie QCamera, QScreenCapture, QWindowCapture, oder QVideoFrameInput.
Um Medien aufzuzeichnen, verbinden Sie einen Generator mit einer entsprechenden Medienaufzeichnungssitzung.
Die Leistung der Videokodierung und -aufzeichnung wird durch die Hardware, das Betriebssystem, die installierten Grafiktreiber und das Eingabevideoformat begrenzt. Wenn QCamera
, QScreenCapture
oder QWindowCapture
Videobilder schneller erzeugt, als QMediaRecorder
sie kodieren und aufzeichnen kann, lässt der Rekorder möglicherweise einige Bilder aus. Dies kann vorkommen, wenn die Eingangsbildauflösung hoch ist, z. B. 4K, und keine hardwarebeschleunigte Kodierung verfügbar ist. Wenn Sie das Eingangsvideo über QVideoFrameInput
generieren, unternimmt die Methode QVideoFrameInput::sendVideoFrame
nichts und gibt false
zurück, wenn diese Grenze erreicht und die interne Bildwarteschlange voll ist. Verlassen Sie sich auf das Signal QVideoFrameInput::readyToSendVideoFrame
, um zu wissen, wann der Rekorder wieder bereit ist, neue Bilder zu empfangen. Wenn Sie die Rate der Videobildgenerierung nicht ändern können und das Fallenlassen von Bildern unerwünscht ist, empfehlen wir, eine eigene Bildwarteschlange zusätzlich zu QVideoFrameInput
zu implementieren und dabei die Speicherbeschränkungen der Hardware zu berücksichtigen.
QMediaCaptureSession session; QAudioInput audioInput; session.setAudioInput(&input); QMediaRecorder recorder; session.setRecorder(&recorder); recorder.setQuality(QMediaRecorder::HighQuality); recorder.setOutputLocation(QUrl::fromLocalFile("test.mp3")); recorder.record();
Dokumentation der Mitgliedertypen
enum QMediaRecorder::EncodingMode
Zählt die Kodierungsmodi auf.
Konstante | Wert | Beschreibung |
---|---|---|
QMediaRecorder::ConstantQualityEncoding | 0 | Bei der Kodierung wird eine konstante Qualität angestrebt, wobei die Bitrate an die Gegebenheiten angepasst wird. |
QMediaRecorder::ConstantBitRateEncoding | 1 | Bei der Kodierung wird eine konstante Bitrate verwendet, die Qualität wird angepasst. |
QMediaRecorder::AverageBitRateEncoding | 2 | Bei der Kodierung wird versucht, eine durchschnittliche Bitrate beizubehalten, aber je nach Bedarf wird mehr oder weniger verwendet. |
QMediaRecorder::TwoPassEncoding | 3 | Die Medien werden zunächst verarbeitet, um die Eigenschaften zu bestimmen, und dann ein zweites Mal verarbeitet, wobei den Bereichen, die es benötigen, mehr Bits zugewiesen werden. |
enum QMediaRecorder::Error
Konstante | Wert | Beschreibung |
---|---|---|
QMediaRecorder::NoError | 0 | Keine Fehler. |
QMediaRecorder::ResourceError | 1 | Gerät ist nicht bereit oder nicht verfügbar. |
QMediaRecorder::FormatError | 2 | Das aktuelle Format wird nicht unterstützt. |
QMediaRecorder::OutOfSpaceError | 3 | Kein Platz mehr auf dem Gerät. |
QMediaRecorder::LocationNotWritable | 4 | Der Ausgabeort ist nicht beschreibbar. |
enum QMediaRecorder::Quality
Zählt die Qualitätskodierungsstufen auf.
Konstante | Wert |
---|---|
QMediaRecorder::VeryLowQuality | 0 |
QMediaRecorder::LowQuality | 1 |
QMediaRecorder::NormalQuality | 2 |
QMediaRecorder::HighQuality | 3 |
QMediaRecorder::VeryHighQuality | 4 |
enum QMediaRecorder::RecorderState
Konstante | Wert | Beschreibung |
---|---|---|
QMediaRecorder::StoppedState | 0 | Der Rekorder ist nicht aktiv. |
QMediaRecorder::RecordingState | 1 | Die Aufzeichnung wird angefordert. |
QMediaRecorder::PausedState | 2 | Der Rekorder ist pausiert. |
Eigenschaft Dokumentation
[read-only]
actualLocation : const QUrl
Diese Eigenschaft enthält den tatsächlichen Speicherort des letzten Medieninhalts.
Der aktuelle Speicherort wird zurückgesetzt, wenn ein neuer outputLocation oder ein outputDevice zugewiesen wird, der nicht leer ist. Wenn record() aufgerufen wird und outputDevice
null
oder nicht beschreibbar ist, generiert der Rekorder den aktuellen Speicherort auf der Grundlage der folgenden Regeln.
- Wenn
outputLocation
leer, ein Verzeichnis oder eine Datei ohne Erweiterung ist, generiert der Rekorder die entsprechende Erweiterung auf der Grundlage des ausgewählten Medienformats und der System-MIME-Typen. - Wenn
outputLocation
ein Verzeichnis ist, generiert der Rekorder einen neuen Dateinamen innerhalb dieses Verzeichnisses. - Wenn
outputLocation
leer ist, generiert der Rekorder einen neuen Dateinamen in dem systemspezifischen Verzeichnis für Audio oder Video. - Der Rekorder generiert den aktuellen Speicherort, bevor er
recorderStateChanged(RecordingState)
ausgibt.
Zugriffsfunktionen:
QUrl | actualLocation() const |
Melder-Signal:
void | actualLocationChanged(const QUrl &location) |
autoStop : bool
Diese Eigenschaft steuert, ob der Medienrekorder automatisch stoppt, wenn alle Medieneingänge das Ende des Streams gemeldet haben oder deaktiviert wurden.
Das Ende des Streams wird durch das Senden eines leeren Medienrahmens gemeldet, den Sie explizit über QVideoFrameInput oder QAudioBufferInput senden können.
Videoeingänge, insbesondere QCamera, QScreenCapture und QWindowCapture, können über die Funktion setActive
deaktiviert werden.
Die Standardeinstellung ist false
.
QMediaRecorder::autoStop wird nur mit dem FFmpeg-Backend unterstützt.
Zugriffsfunktionen:
bool | autoStop() const |
void | setAutoStop(bool autoStop) |
Notifier-Signal:
void | autoStopChanged() |
Siehe auch QCamera, QScreenCapture, und QWindowCapture.
[read-only]
duration : const qint64
Diese Eigenschaft enthält die aufgezeichnete Mediendauer in Millisekunden.
Zugriffsfunktionen:
qint64 | duration() const |
Melder-Signal:
void | durationChanged(qint64 duration) |
[read-only]
error : const QMediaRecorder::Error
Gibt den aktuellen Fehlerstatus zurück.
Zugriffsfunktionen:
QMediaRecorder::Error | error() const |
Benachrichtigungssignal:
void | errorChanged() |
Siehe auch errorString().
[read-only]
errorString : const QString
Gibt eine Zeichenkette zurück, die den aktuellen Fehlerzustand beschreibt.
Zugriffsfunktionen:
QString | errorString() const |
Benachrichtigungssignal:
void | errorChanged() |
Siehe auch error().
mediaFormat : QMediaFormat
Diese Eigenschaft enthält die aktuelle QMediaFormat des Schreibers.
Der Wert dieser Eigenschaft kann sich beim Aufruf von record() ändern. Wenn dies geschieht, wird das Signal mediaFormatChanged ausgegeben. Dies geschieht immer dann, wenn die Eigenschaften QMediaFormat::audioCodec oder QMediaFormat::fileFormat auf nicht spezifiziert gesetzt sind. Wenn eine Videoquelle (QCamera, QScreenCapture oder QVideoFrameInput) mit QMediaCaptureSession verbunden ist, muss auch QMediaFormat::videoCodec angegeben werden. Die Eigenschaftswerte QMediaFormat::audioCodec und QMediaFormat::videoCodec können sich auch ändern, wenn das Medien-Backend das ausgewählte Dateiformat oder den Codec nicht unterstützt.
Der Eigenschaftswert QMediaFormat::fileFormat kann sich auch in ein audio
only-Format ändern, wenn ein Videoformat angefordert wurde, aber QMediaCaptureSession keine Videoquelle angeschlossen hat. Wenn QMediaFormat::fileFormat beispielsweise auf QMediaFormat::FileFormat::MPEG4 eingestellt ist, kann er auf QMediaFormat::FileFormat::Mpeg4Audio geändert werden.
Anwendungen können vor Beginn der Aufzeichnung durch Aufruf der Funktion QMediaFormat::isSupported() feststellen, ob mediaFormat geändert wird. Bei einer Aufnahme ohne Videoeingang wird record() nicht in QMediaFormat geändert, wenn Folgendes zutrifft:
- QMediaFormat::fileFormat angegeben ist
- QMediaFormat::audioCodec festgelegt ist
- QMediaFormat::videoCodec nicht spezifiziert ist
- QMediaFormat::isSupported gibt zurück
true
Bei der Aufnahme mit Videoeingang wird mediaFormat nicht geändert, wenn folgendes zutrifft:
- QMediaFormat::fileFormat angegeben ist
- QMediaFormat::audioCodec ist angegeben
- QMediaFormat::videoCodec angegeben ist
- QMediaFormat::isSupported gibt zurück
true
Hinweis: QMediaRecorder berücksichtigt bei der Bestimmung von QMediaFormat::fileFormat nicht die Dateinamenerweiterung aus der Eigenschaft outputLocation und passt die Erweiterung von outputLocation QUrl nicht an das ausgewählte Dateiformat an, wenn eine Erweiterung angegeben ist. Anwendungen sollten daher sicherstellen, dass die Eigenschaft QMediaRecorder::mediaFormat::fileFormat mit der Dateierweiterung übereinstimmt oder keine Dateierweiterung angegeben wird. Wird keine Dateierweiterung angegeben, wird die Dateierweiterung actualLocation so aktualisiert, dass sie dem für die Aufnahme verwendeten Dateiformat entspricht.
Zugriffsfunktionen:
QMediaFormat | mediaFormat() const |
void | setMediaFormat(const QMediaFormat &format) |
Benachrichtigungssignal:
void | mediaFormatChanged() |
Siehe auch QMediaFormat::isSupported() und QMediaRecorder::actualLocation.
metaData : QMediaMetaData
Gibt die mit der Aufnahme verbundenen Metadaten zurück.
Zugriffsfunktionen:
QMediaMetaData | metaData() const |
void | setMetaData(const QMediaMetaData &metaData) |
Benachrichtigungssignal:
void | metaDataChanged() |
outputLocation : QUrl
Diese Eigenschaft enthält den Zielspeicherort der Medieninhalte.
Das Festlegen des Speicherortes kann fehlschlagen, z. B. wenn der Dienst nur lokale Dateisystem-Speicherorte unterstützt, aber eine Netzwerk-URL übergeben wurde. Wenn der Vorgang fehlschlägt, wird das Signal errorOccured() ausgegeben.
Der Ausgabespeicherort wird ignoriert, wenn dem Rekorder ein beschreibbarer outputDevice zugewiesen wurde. Dieses Verhalten kann sich in Zukunft ändern, daher empfehlen wir, nur eine Ausgabe festzulegen, entweder outputLocation
oder outputDevice
.
Der Ausgabeort kann leer, ein Verzeichnis oder eine Datei sein. Der Pfad zu einem Verzeichnis oder einer Datei kann relativ oder absolut sein. Die Methode record() erzeugt den tatsächlichen Speicherort entsprechend dem angegebenen Ausgabeort und den systemspezifischen Einstellungen. Einzelheiten finden Sie in der Beschreibung der Eigenschaft actualLocation.
Zugriffsfunktionen:
QUrl | outputLocation() const |
void | setOutputLocation(const QUrl &location) |
Siehe auch actualLocation und outputDevice().
quality : Quality
Gibt die Aufnahmequalität zurück.
Zugriffsfunktionen:
QMediaRecorder::Quality | quality() const |
void | setQuality(QMediaRecorder::Quality quality) |
Benachrichtigungssignal:
void | qualityChanged() |
[read-only]
recorderState : const QMediaRecorder::RecorderState
Diese Eigenschaft enthält den aktuellen Zustand des Medienrekorders.
Die Eigenschaft state stellt die Benutzeranforderung dar und wird bei den Aufrufen record(), pause() oder stop() synchron geändert. Der Status des Rekorders kann sich auch asynchron ändern, wenn die Aufnahme fehlschlägt.
Zugriffsfunktionen:
QMediaRecorder::RecorderState | recorderState() const |
Notifier-Signal:
void | recorderStateChanged(QMediaRecorder::RecorderState state) |
Member Function Dokumentation
QMediaRecorder::QMediaRecorder(QObject *parent = nullptr)
Konstruiert einen Medienrekorder. Der Medienrekorder ist ein Kind von parent.
[override virtual noexcept]
QMediaRecorder::~QMediaRecorder()
Zerstört ein Medienrekorder-Objekt.
[signal]
void QMediaRecorder::actualLocationChanged(const QUrl &location)
Signalisiert, dass sich die aktuelle location des bespielten Mediums geändert hat. Dieses Signal wird normalerweise beim Start der Aufnahme ausgegeben.
Hinweis: Benachrichtigungssignal für die Eigenschaft actualLocation.
void QMediaRecorder::addMetaData(const QMediaMetaData &metaData)
Fügt metaData zu den aufgezeichneten Medien hinzu.
int QMediaRecorder::audioBitRate() const
Gibt die Bitrate des komprimierten Audiostroms in Bits pro Sekunde zurück.
Hinweis: Getter-Funktion für die Eigenschaft audioBitRate.
Siehe auch setAudioBitRate().
[signal]
void QMediaRecorder::audioBitRateChanged()
Signalisiert, wenn sich die Audio-Bitrate der Aufnahme ändert.
Hinweis: Benachrichtigungssignal für die Eigenschaft audioBitRate.
int QMediaRecorder::audioChannelCount() const
Gibt die Anzahl der Audiokanäle zurück.
Hinweis: Getter-Funktion für die Eigenschaft audioChannelCount.
Siehe auch setAudioChannelCount().
[signal]
void QMediaRecorder::audioChannelCountChanged()
Signalisiert, wenn sich die Anzahl der Aufnahme-Audiokanäle ändert.
Hinweis: Benachrichtigungssignal für die Eigenschaft audioChannelCount.
int QMediaRecorder::audioSampleRate() const
Gibt die Audio-Sample-Rate in Hz zurück.
Hinweis: Getter-Funktion für die Eigenschaft audioSampleRate.
Siehe auch setAudioSampleRate().
[signal]
void QMediaRecorder::audioSampleRateChanged()
Signalisiert, wenn sich die Abtastrate der Audioaufnahme ändert.
Hinweis: Benachrichtigungssignal für die Eigenschaft audioSampleRate.
QMediaCaptureSession *QMediaRecorder::captureSession() const
Gibt die Medienerfassungssitzung zurück.
[signal]
void QMediaRecorder::durationChanged(qint64 duration)
Signalisiert, dass sich die duration des bespielten Mediums geändert hat.
Hinweis: Meldesignal für die Eigenschaft duration.
[signal]
void QMediaRecorder::encoderSettingsChanged()
Signalisiert, wenn sich die Encodereinstellungen ändern.
QMediaRecorder::EncodingMode QMediaRecorder::encodingMode() const
Gibt den Kodierungsmodus zurück.
Hinweis: Getter-Funktion für die Eigenschaft encodingMode.
Siehe auch setEncodingMode() und EncodingMode.
[signal]
void QMediaRecorder::encodingModeChanged()
Signalisiert, wenn sich der Kodierungsmodus ändert.
Hinweis: Meldesignal für die Eigenschaft encodingMode.
[signal]
void QMediaRecorder::errorOccurred(QMediaRecorder::Error error, const QString &errorString)
Signalisiert, dass ein error aufgetreten ist, wobei errorString eine Beschreibung des Fehlers enthält.
bool QMediaRecorder::isAvailable() const
Gibt true
zurück, wenn der Medienrekorderdienst einsatzbereit ist.
[signal]
void QMediaRecorder::metaDataChanged()
Signalisiert, dass sich die Metadaten eines Medienobjekts geändert haben.
Wenn mehrere Metadatenelemente geändert werden, wird metaDataChanged() einmal ausgegeben.
Hinweis: Benachrichtigungssignal für die Eigenschaft metaData.
QIODevice *QMediaRecorder::outputDevice() const
Gibt das Ausgabe-IO-Gerät für Medieninhalte zurück.
Siehe auch setOutputDevice().
[slot]
void QMediaRecorder::pause()
Pausiert die Aufnahme.
Der Rekorderstatus wird auf QMediaRecorder::PausedState geändert.
Je nach Plattform wird das Pausieren der Aufzeichnung möglicherweise nicht unterstützt. In diesem Fall bleibt der Rekorderstatus unverändert.
[signal]
void QMediaRecorder::qualityChanged()
Signalisiert, wenn sich die Aufnahmequalität ändert.
Hinweis: Benachrichtigungssignal für die Eigenschaft quality.
[slot]
void QMediaRecorder::record()
Startet die Aufnahme.
Während der Schreiberzustand sofort auf c{QMediaRecorder::RecordingState} geändert wird, kann die Aufzeichnung asynchron beginnen.
Schlägt die Aufzeichnung fehl, wird das Signal error() ausgegeben und der Rekorderstatus auf QMediaRecorder::StoppedState
zurückgesetzt.
Diese Methode aktualisiert actualLocation gemäß ihren Erzeugungsregeln.
Hinweis: Auf mobilen Geräten erfolgt die Aufnahme in der Ausrichtung, die das Gerät beim Aufruf von record hatte, und ist für die Dauer der Aufnahme gesperrt. Um Artefakte auf der Benutzeroberfläche zu vermeiden, empfehlen wir, die Benutzeroberfläche für die Dauer der Aufzeichnung mit der Eigenschaft contentOrientation von QWindow in der gleichen Ausrichtung zu sperren und die Sperre wieder aufzuheben, sobald die Aufzeichnung beendet ist.
QMediaRecorder::RecorderState QMediaRecorder::recorderState() const
Gibt den aktuellen Status des Medienrekorders zurück.
Hinweis: Getter-Funktion für die Eigenschaft recorderState.
Siehe auch QMediaRecorder::RecorderState.
[signal]
void QMediaRecorder::recorderStateChanged(QMediaRecorder::RecorderState state)
Signalisiert, dass sich der state eines Medienrekorders geändert hat.
Hinweis: Meldesignal für die Eigenschaft recorderState.
void QMediaRecorder::setAudioBitRate(int bitRate)
Legt die Audioqualität bitRate in Bits pro Sekunde fest.
Hinweis: Setter-Funktion für die Eigenschaft audioBitRate.
Siehe auch audioBitRate().
void QMediaRecorder::setAudioChannelCount(int channels)
Legt die Anzahl der Audiosignale channels fest.
Ein Wert von -1 bedeutet, dass der Rekorder eine optimale Auswahl treffen sollte, die auf den von der Audioquelle verfügbaren Daten und den Einschränkungen des Codecs basiert.
Hinweis: Setter-Funktion für die Eigenschaft audioChannelCount.
Siehe auch audioChannelCount().
void QMediaRecorder::setAudioSampleRate(int sampleRate)
Legt die Audiofrequenz sampleRate in Hz fest.
Ein Wert von -1
zeigt an, dass der Rekorder eine optimale Auswahl treffen sollte, die auf den verfügbaren Daten der Audioquelle und den Einschränkungen des Codecs basiert.
Hinweis: Setter-Funktion für die Eigenschaft audioSampleRate.
Siehe auch audioSampleRate().
void QMediaRecorder::setEncodingMode(QMediaRecorder::EncodingMode mode)
Legt die Einstellung für die Kodierung mode fest.
Wenn ConstantQualityEncoding gesetzt ist, wird der Qualitätskodierungsparameter verwendet und die Bitraten werden ignoriert, andernfalls werden die Bitraten verwendet.
Hinweis: Setter-Funktion für die Eigenschaft encodingMode.
Siehe auch encodingMode() und EncodingMode.
void QMediaRecorder::setMetaData(const QMediaMetaData &metaData)
Setzt die Metadaten auf metaData.
Hinweis: Um sicherzustellen, dass die Metadaten korrekt gesetzt werden, sollten sie vor dem Start der Aufzeichnung gesetzt werden. Sobald die Aufzeichnung gestartet ist, werden alle gesetzten Metadaten an die nächste Aufzeichnung angehängt.
Hinweis: Setter-Funktion für die Eigenschaft metaData.
Siehe auch metaData().
void QMediaRecorder::setOutputDevice(QIODevice *device)
Legen Sie das Ausgabe-IO-Gerät für Medieninhalte fest.
Das device muss im Modus WriteOnly oder ReadWrite geöffnet worden sein, bevor die Aufnahme beginnt.
Der Medienrekorder übernimmt nicht das Eigentum an dem angegebenen device. Wenn die Aufzeichnung gestartet wurde, muss das Gerät am Leben gehalten und geöffnet werden, bis das Signal recorderStateChanged(StoppedState)
ausgegeben wird.
Diese Methode setzt actualLocation sofort zurück, es sei denn, das angegebene device ist null
.
Wenn dem Rekorder ein beschreibbares Ausgabegerät zugewiesen ist, wird outputLocation ignoriert, und actualLocation wird beim Start der Aufzeichnung nicht erzeugt. Dieses Verhalten kann sich in Zukunft ändern, daher empfehlen wir, nur einen Ausgang zu setzen, entweder outputLocation
oder outputDevice
.
QMediaRecorder::setOutputDevice
wird nur mit dem FFmpeg-Backend unterstützt.
Siehe auch outputDevice() und outputLocation.
void QMediaRecorder::setVideoBitRate(int bitRate)
Legt das Video bitRate in Bits pro Sekunde fest.
Hinweis: Setter-Funktion für die Eigenschaft videoBitRate.
Siehe auch videoBitRate().
void QMediaRecorder::setVideoFrameRate(qreal frameRate)
Legt das Video frameRate fest.
Ein Wert von 0 bedeutet, dass der Rekorder eine optimale Auswahl treffen sollte, die auf den von der Videoquelle verfügbaren Daten und den Einschränkungen des Codecs basiert.
Hinweis: Setter-Funktion für die Eigenschaft videoFrameRate.
Siehe auch videoFrameRate().
void QMediaRecorder::setVideoResolution(const QSize &size)
Setzt die Auflösung des kodierten Videos auf size.
Übergeben Sie eine leere QSize, damit der Rekorder eine optimale Auflösung auf der Grundlage der von der Videoquelle verfügbaren Daten und der Einschränkungen des Codecs wählt.
Hinweis: Setter-Funktion für die Eigenschaft videoResolution.
Siehe auch videoResolution().
void QMediaRecorder::setVideoResolution(int width, int height)
Legt die width und height der Auflösung des kodierten Videos fest.
Dies ist eine überladene Funktion.
Hinweis: Setter-Funktion für die Eigenschaft videoResolution.
[slot]
void QMediaRecorder::stop()
Der Rekorder stoppt die Aufzeichnung. Die Verarbeitung anstehender Video- und Audiodaten kann jedoch noch einige Zeit in Anspruch nehmen. Die Aufnahme ist beendet, wenn der Status des Medienrekorders auf QMediaRecorder::StoppedState wechselt.
int QMediaRecorder::videoBitRate() const
Gibt die Bitrate des komprimierten Videostroms in Bits pro Sekunde zurück.
Hinweis: Getter-Funktion für die Eigenschaft videoBitRate.
Siehe auch setVideoBitRate().
[signal]
void QMediaRecorder::videoBitRateChanged()
Signalisiert, wenn sich die Bitrate der Videoaufzeichnung ändert.
Hinweis: Benachrichtigungssignal für die Eigenschaft videoBitRate.
qreal QMediaRecorder::videoFrameRate() const
Gibt die Videobildrate zurück.
Hinweis: Getter-Funktion für die Eigenschaft videoFrameRate.
Siehe auch setVideoFrameRate().
[signal]
void QMediaRecorder::videoFrameRateChanged()
Signalisiert, wenn sich die Bildrate der Videoaufzeichnung ändert.
Hinweis: Benachrichtigungssignal für die Eigenschaft videoFrameRate.
QSize QMediaRecorder::videoResolution() const
Gibt die Auflösung des kodierten Videos zurück.
Hinweis: Getter-Funktion für die Eigenschaft videoResolution.
Siehe auch setVideoResolution().
[signal]
void QMediaRecorder::videoResolutionChanged()
Signalisiert, wenn sich die Auflösung der Videoaufzeichnung ändert.
Hinweis: Benachrichtigungssignal für die Eigenschaft videoResolution.
© 2025 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.