Auf dieser Seite

QMediaRecorder Class

Die Klasse „QMediaRecorder“ dient zur Kodierung und Aufzeichnung einer Aufnahmesitzung. Mehr...

Header: #include <QMediaRecorder>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
In QML: MediaRecorder
Erbt von: 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

void pause()
void record()
void stop()

Signale

void actualLocationChanged(const QUrl &location)
void audioBitRateChanged()
void audioChannelCountChanged()
void audioSampleRateChanged()
void autoStopChanged()
void durationChanged(qint64 duration)
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()

Ausführliche Beschreibung

Verwenden Sie die Klasse „QMediaRecorder“, um Medien zu kodieren und aufzuzeichnen, die mit „ QMediaCaptureSession “ erzeugt wurden. Sie können Folgendes erzeugen:

Um Medien aufzuzeichnen, verbinden Sie einen Generator mit einer entsprechenden Medienaufzeichnungssitzung.

Die Leistung bei 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 Recorder möglicherweise einige Bilder aus. Dies tritt wahrscheinlich auf, wenn die Auflösung der Eingabebilder hoch ist, beispielsweise 4K, und keine hardwarebeschleunigte Codierung verfügbar ist. Wenn Sie Eingabevideos über QVideoFrameInput generieren, führt die Methode QVideoFrameInput::sendVideoFrame keine Aktion aus und gibt false zurück, sobald diese Grenze erreicht ist und die interne Bildwarteschlange voll ist. Verwenden Sie das Signal QVideoFrameInput::readyToSendVideoFrame, um zu erkennen, wann der Recorder wieder bereit ist, neue Bilder zu empfangen. Wenn Sie die Rate der Videobildgenerierung nicht ändern können und das Weglassen von Bildern unerwünscht ist, empfehlen wir, unter Berücksichtigung der Speicherbeschränkungen der Hardware eine eigene Bildwarteschlange auf Basis von QVideoFrameInput zu implementieren.

QMediaCaptureSession session;
QAudioInput audioInput;
session.setAudioInput(&audioInput);
QMediaRecorder recorder;
session.setRecorder(&recorder);
recorder.setQuality(QMediaRecorder::HighQuality);
recorder.setOutputLocation(QUrl::fromLocalFile("test.mp3"));
recorder.record();

Dokumentation zum Mitgliedstyp

enum QMediaRecorder::EncodingMode

Zählt die Kodierungsmodi auf.

KonstanteWertBeschreibung
QMediaRecorder::ConstantQualityEncoding0Die Kodierung zielt auf eine konstante Qualität ab und passt die Bitrate entsprechend an.
QMediaRecorder::ConstantBitRateEncoding1Bei der Kodierung wird eine konstante Bitrate verwendet, wobei die Qualität entsprechend angepasst wird.
QMediaRecorder::AverageBitRateEncoding2Bei der Kodierung wird versucht, eine durchschnittliche Bitrate beizubehalten, wobei je nach Bedarf mehr oder weniger Bits verwendet werden.
QMediaRecorder::TwoPassEncoding3Die Mediendatei wird zunächst verarbeitet, um ihre Eigenschaften zu ermitteln, und anschließend ein zweites Mal verarbeitet, wobei den Bereichen, die es benötigen, mehr Bits zugewiesen werden.

enum QMediaRecorder::Error

KonstanteWertBeschreibung
QMediaRecorder::NoError0Keine Fehler.
QMediaRecorder::ResourceError1Das Gerät ist nicht bereit oder nicht verfügbar.
QMediaRecorder::FormatError2Das aktuelle Format wird nicht unterstützt.
QMediaRecorder::OutOfSpaceError3Auf dem Gerät ist kein Speicherplatz mehr vorhanden.
QMediaRecorder::LocationNotWritable4Der Speicherort ist nicht beschreibbar.

enum QMediaRecorder::Quality

Zählt die Qualitätsstufen der Codierung auf.

KonstanteWert
QMediaRecorder::VeryLowQuality0
QMediaRecorder::LowQuality1
QMediaRecorder::NormalQuality2
QMediaRecorder::HighQuality3
QMediaRecorder::VeryHighQuality4

enum QMediaRecorder::RecorderState

KonstanteWertBeschreibung
QMediaRecorder::StoppedState0Der Rekorder ist nicht aktiv.
QMediaRecorder::RecordingState1Die Aufzeichnung wird angefordert.
QMediaRecorder::PausedState2Der Recorder ist angehalten.

Eigenschaftsdokumentation

[read-only] actualLocation : QUrl

Diese Eigenschaft enthält die aktuelle Position des letzten Medieninhalts.

Der tatsächliche Speicherort wird zurückgesetzt, wenn ein neuer „ outputLocation “ oder ein von „null“ verschiedener „ outputDevice “ zugewiesen wird. Wenn „ record()“ aufgerufen wird und „ outputDevice “ „ null “ ist oder nicht beschreibbar ist, generiert der Recorder den tatsächlichen Speicherort anhand der folgenden Regeln.

  • Ist outputLocation leer, ein Verzeichnis oder eine Datei ohne Dateiendung, generiert der Recorder die entsprechende Dateiendung basierend auf dem ausgewählten Medienformat und den System-MIME-Typen.
  • Ist „ outputLocation “ ein Verzeichnis, generiert der Recorder darin einen neuen Dateinamen.
  • Ist „ outputLocation “ leer, generiert der Recorder einen neuen Dateinamen im systemspezifischen Verzeichnis für Audio oder Video.
  • Der Recorder ermittelt den tatsächlichen Speicherort, bevor er „ recorderStateChanged(RecordingState) “ ausgibt.

Zugriffsfunktionen:

QUrl actualLocation() const

Benachrichtigungssignal:

void actualLocationChanged(const QUrl &location)

audioBitRate : int

Diese Eigenschaft enthält die Bitrate des komprimierten Audiostreams in Bit pro Sekunde.

Zugriffsfunktionen:

int audioBitRate() const
void setAudioBitRate(int bitRate)

Benachrichtigungssignal:

audioChannelCount : int

Diese Eigenschaft gibt die Anzahl der Audiokanäle an.

Zugriffsfunktionen:

int audioChannelCount() const
void setAudioChannelCount(int channels)

Benachrichtigungssignal:

audioSampleRate : int

Diese Eigenschaft enthält die Audio-Abtastrate in Hz.

Zugriffsfunktionen:

int audioSampleRate() const
void setAudioSampleRate(int sampleRate)

Benachrichtigungssignal:

autoStop : bool

Diese Eigenschaft legt fest, 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 Medienframes gemeldet, den Sie explizit über QVideoFrameInput oder QAudioBufferInput senden können.

Insbesondere die Videoeingänge „ QCamera “, „ QScreenCapture “ und „ QWindowCapture “ können über die Funktion „ setActive “ deaktiviert werden.

Standardmäßig ist false eingestellt.

QMediaRecorder::autoStop wird nur mit dem FFmpeg-Backend unterstützt.

Zugriffsfunktionen:

bool autoStop() const
void setAutoStop(bool autoStop)

Benachrichtigungssignal:

void autoStopChanged()

Siehe auch QCamera, QScreenCapture und QWindowCapture.

[read-only] duration : qint64

Diese Eigenschaft enthält die Dauer der aufgezeichneten Medien in Millisekunden.

Zugriffsfunktionen:

qint64 duration() const

Benachrichtigungssignal:

void durationChanged(qint64 duration)

encodingMode : QMediaRecorder::EncodingMode

Diese Eigenschaft enthält den Kodierungsmodus.

Zugriffsfunktionen:

QMediaRecorder::EncodingMode encodingMode() const
void setEncodingMode(QMediaRecorder::EncodingMode mode)

Benachrichtigungssignal:

Siehe auch „ EncodingMode “.

[read-only] error : QMediaRecorder::Error

Gibt den aktuellen Fehlerstatus zurück.

Zugriffsfunktionen:

QMediaRecorder::Error error() const

Benachrichtigungssignal:

void errorChanged()

Siehe auch „ errorString()“.

[read-only] errorString : QString

Gibt eine Zeichenfolge zurück, die den aktuellen Fehlerstatus beschreibt.

Zugriffsfunktionen:

QString errorString() const

Benachrichtigungssignal:

void errorChanged()

Siehe auch ` error()`.

mediaFormat : QMediaFormat

Diese Eigenschaft enthält das aktuelle „ QMediaFormat “ des Recorders.

Der Wert dieser Eigenschaft kann sich beim Aufruf von „ record()“ ändern. In diesem Fall wird das Signal „mediaFormatChanged()“ ausgelöst. Dies geschieht immer dann, wenn die Eigenschaften „ QMediaFormat::audioCodec “ oder „ QMediaFormat::fileFormat “ auf „unspecified“ gesetzt sind. Wenn eine Videoquelle (QCamera, QScreenCapture oder QVideoFrameInput) mit dem „ QMediaCaptureSession “ verbunden ist, muss auch „ QMediaFormat::videoCodec “ angegeben werden. Die Werte der Eigenschaften ` QMediaFormat::audioCodec ` und ` QMediaFormat::videoCodec ` können sich ebenfalls ändern, wenn das Medien-Backend das ausgewählte Dateiformat oder den Codec nicht unterstützt.

Der Wert der Eigenschaft „ QMediaFormat::fileFormat “ kann sich ebenfalls in ein reines audio -Format ändern, wenn ein Videoformat angefordert wurde, aber unter QMediaCaptureSession keine Videoquelle verbunden ist. Wenn beispielsweise „ QMediaFormat::fileFormat “ auf „ QMediaFormat::MPEG4 “ gesetzt ist, kann es zu „ QMediaFormat::Mpeg4Audio “ geändert werden.

Anwendungen können vor Beginn der Aufzeichnung durch Aufruf der Funktion ` QMediaFormat::isSupported()` feststellen, ob sich ` mediaFormat ` ändern wird. Bei einer Aufzeichnung ohne Videoeingänge wird ` record()` nicht auf ` QMediaFormat ` geändert, wenn Folgendes zutrifft:

Bei der Aufzeichnung mit Videoeingang wird „ mediaFormat “ nicht geändert, wenn Folgendes zutrifft:

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 darauf achten, die Eigenschaft „ QMediaRecorder::mediaFormat::fileFormat “ so festzulegen, dass sie mit der Dateiendung übereinstimmt, oder gar keine Dateiendung angeben. Wenn keine Dateiendung angegeben wird, wird die Dateiendung „ actualLocation “ so aktualisiert, dass sie dem für die Aufzeichnung verwendeten Dateiformat entspricht.

Zugriffsfunktionen:

QMediaFormat mediaFormat() const
void setMediaFormat(const QMediaFormat &format)

Benachrichtigungssignal:

void mediaFormatChanged()

Siehe auch „ QMediaFormat::isSupported()“ und „ actualLocation “.

metaData : QMediaMetaData

Gibt die mit der Aufzeichnung verknüpften Metadaten zurück.

Zugriffsfunktionen:

QMediaMetaData metaData() const
void setMetaData(const QMediaMetaData &metaData)

Benachrichtigungssignal:

outputLocation : QUrl

Diese Eigenschaft enthält den Zielpfad des Medieninhalts.

Das Festlegen des Speicherorts kann fehlschlagen, beispielsweise wenn der Dienst nur Speicherorte im lokalen Dateisystem unterstützt, aber eine Netzwerk-URL übergeben wurde. Wenn der Vorgang fehlschlägt, wird das Signal „ errorOccurred()“ ausgelöst.

Der Ausgabepfad wird ignoriert, wenn dem Recorder ein beschreibbares „ outputDevice “ zugewiesen wurde. Dieses Verhalten kann sich in Zukunft ändern; daher empfehlen wir, nur einen Ausgabepfad festzulegen, entweder „ outputLocation “ oder „ outputDevice “.

Der Ausgabeort kann leer sein, ein Verzeichnis oder eine Datei. Der Pfad zu einem Verzeichnis oder einer Datei kann relativ oder absolut sein. Die Methode „ record()“ generiert den tatsächlichen Speicherort entsprechend dem angegebenen Ausgabeort und den systemspezifischen Einstellungen. Weitere Informationen 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:

[read-only] recorderState : QMediaRecorder::RecorderState

Diese Eigenschaft enthält den aktuellen Zustand des Medienrekorders.

Die Eigenschaft „state“ repräsentiert die Benutzeranforderung und wird bei Aufrufen von „ record()“, „ pause()“ oder „ stop()“ synchron geändert. Der Zustand des Rekorders kann sich auch asynchron ändern, wenn die Aufnahme fehlschlägt.

Zugriffsfunktionen:

QMediaRecorder::RecorderState recorderState() const

Benachrichtigungssignal:

void recorderStateChanged(QMediaRecorder::RecorderState state)

[since 6.6] videoBitRate : int

Diese Eigenschaft enthält die Bitrate des komprimierten Videostreams in Bit pro Sekunde.

Diese Enumeration wurde in Qt 6.6 eingeführt.

Zugriffsfunktionen:

int videoBitRate() const
void setVideoBitRate(int bitRate)

Notifier-Signal:

[since 6.6] videoFrameRate : qreal

Diese Eigenschaft enthält die bei der Codierung verwendete Bildrate des Videos.

Wenn diese Eigenschaft auf eine positive Bildrate gesetzt ist, versucht „ QMediaRecorder “, mit dieser Bildrate zu kodieren. Wenn die Bildraten der Videoquelle und des Kodierers unterschiedlich sind, können Bilder aus der Quelle ausgelassen oder dupliziert werden, um die Zielbildrate zu erreichen.

Wird der Standardwert (-1) beibehalten oder ein anderer nicht-positiver Wert festgelegt, versucht „ QMediaRecorder “, anhand der Videoquelle und der Codec-Einschränkungen die optimale Wahl zu treffen.

Diese Enumeration wurde in Qt 6.6 eingeführt.

Zugriffsfunktionen:

qreal videoFrameRate() const
void setVideoFrameRate(qreal frameRate)

Notifier-Signal:

[since 6.6] videoResolution : QSize

Diese Eigenschaft gibt die Auflösung des kodierten Videos an.

Ein leerer Wert für „ QSize “ bedeutet, dass der Recorder eine optimale Auflösung wählt, basierend auf den von der Videoquelle verfügbaren Optionen und den Einschränkungen des Codecs.

Diese Enumeration wurde in Qt 6.6 eingeführt.

Zugriffsfunktionen:

QSize videoResolution() const
void setVideoResolution(const QSize &size)
void setVideoResolution(int width, int height)

Notifier-Signal:

Dokumentation der Mitgliedsfunktionen

QMediaRecorder::QMediaRecorder(QObject *parent = nullptr)

Erstellt einen Medienrekorder. Der Medienrekorder ist ein untergeordnetes Element von „ parent “.

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

Löscht ein Medienrekorder-Objekt.

[signal] void QMediaRecorder::actualLocationChanged(const QUrl &location)

Zeigt an, dass sich die tatsächliche location des aufgezeichneten Mediums geändert hat. Dieses Signal wird in der Regel zu Beginn der Aufzeichnung ausgesendet.

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 Audiostreams in Bit pro Sekunde zurück.

Hinweis: Getter -Funktion für die Eigenschaft „audioBitRate“.

Siehe auch „ setAudioBitRate()“.

[signal] void QMediaRecorder::audioBitRateChanged()

Gibt ein Signal aus, 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()

Gibt ein Signal aus, wenn sich die Anzahl der Audiokanäle für die Aufnahme ändert.

Hinweis: Benachrichtigungssignal für die Eigenschaft „ audioChannelCount “.

int QMediaRecorder::audioSampleRate() const

Gibt die Audio-Abtastrate in Hz zurück.

Hinweis: Getter -Funktion für die Eigenschaft „audioSampleRate“.

Siehe auch „ setAudioSampleRate()“.

[signal] void QMediaRecorder::audioSampleRateChanged()

Gibt ein Signal aus, wenn sich die Abtastrate der Audioaufnahme ändert.

Hinweis: Benachrichtigungssignal für die Eigenschaft „ audioSampleRate “.

QMediaCaptureSession *QMediaRecorder::captureSession() const

Gibt die Medienaufzeichnungssitzung zurück.

[signal] void QMediaRecorder::durationChanged(qint64 duration)

Zeigt an, dass sich die duration der aufgezeichneten Medien geändert hat.

Hinweis: Benachrichtigungssignal für die Eigenschaft „ duration “.

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()

Gibt ein Signal aus, wenn sich der Kodierungsmodus ändert.

Hinweis: Benachrichtigungssignal für die Eigenschaft „ encodingMode “.

[signal] void QMediaRecorder::errorOccurred(QMediaRecorder::Error error, const QString &errorString)

Zeigt an, dass ein „ error “ aufgetreten ist, wobei „ errorString “ eine Beschreibung des Fehlers enthält.

bool QMediaRecorder::isAvailable() const

Gibt „ true “ zurück, wenn der Medienaufzeichnungsdienst 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 ausgelöst.

Hinweis: Notifier -Signal für die Eigenschaft „ metaData “.

QIODevice *QMediaRecorder::outputDevice() const

Gibt das Ausgabe-E/A-Gerät für Medieninhalte zurück.

Siehe auch setOutputDevice().

[slot] void QMediaRecorder::pause()

Hält die Aufnahme an.

Der Status des Recorders wird auf „ QMediaRecorder::PausedState “ geändert.

Je nach Plattform wird das Anhalten der Aufzeichnung möglicherweise nicht unterstützt. In diesem Fall bleibt der Status des Rekorders unverändert.

[signal] void QMediaRecorder::qualityChanged()

Gibt ein Signal aus, wenn sich die Aufnahmequalität ändert.

Hinweis: Notifier -Signal für die Eigenschaft „ quality “.

[slot] void QMediaRecorder::record()

Die Aufzeichnung wird gestartet.

Während der Status des Recorders sofort auf c{QMediaRecorder::RecordingState} geändert wird, kann die Aufzeichnung asynchron beginnen.

Wenn die Aufzeichnung fehlschlägt, wird das Signal „ error()“ ausgelöst, wobei der Status des Rekorders auf „ QMediaRecorder::StoppedState “ zurückgesetzt wird.

Diese Methode aktualisiert „ actualLocation “ gemäß den Regeln für dessen Erzeugung.

Hinweis: Auf Mobilgeräten erfolgt die Aufzeichnung in der Ausrichtung, die das Gerät zum Zeitpunkt des Aufrufs von `record` hatte, und diese wird für die Dauer der Aufzeichnung gesperrt. Um Artefakte auf der Benutzeroberfläche zu vermeiden, empfehlen wir, die Benutzeroberfläche mithilfe der Eigenschaft `contentOrientation` von ` QWindow ` für die Dauer der Aufzeichnung in derselben Ausrichtung zu sperren und sie nach Beendigung der Aufzeichnung wieder zu entsperren.

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 die Eigenschaft „ state “ eines Medienrekorders geändert hat.

Hinweis: Benachrichtigungssignal für die Eigenschaft „ recorderState “.

void QMediaRecorder::setAudioBitRate(int bitRate)

Legt die Audio bitRate en in Bit pro Sekunde fest.

Hinweis: Setter -Funktion für die Eigenschaft ` audioBitRate`.

Siehe auch ` audioBitRate()`.

void QMediaRecorder::setAudioChannelCount(int channels)

Legt die Anzahl der Audio channels fest.

Der Wert -1 bedeutet, dass der Recorder eine optimale Auswahl treffen soll, basierend auf den von der Audioquelle verfügbaren Daten und den Einschränkungen des Codecs.

Hinweis: Setter -Funktion für die Eigenschaft ` audioChannelCount`.

Siehe auch ` audioChannelCount()`.

void QMediaRecorder::setAudioSampleRate(int sampleRate)

Legt die Audio- sampleRate e in Hz fest.

Der Wert „ -1 “ bedeutet, dass der Recorder eine optimale Auswahl treffen soll, basierend auf den von der Audioquelle verfügbaren Daten und den Einschränkungen des Codecs.

Hinweis: Setter -Funktion für die Eigenschaft „ audioSampleRate “.

Siehe auch audioSampleRate().

void QMediaRecorder::setEncodingMode(QMediaRecorder::EncodingMode mode)

Legt die Einstellung „encoding mode “ fest.

Wenn „ ConstantQualityEncoding “ gesetzt ist, wird der Qualitätsparameter für die Kodierung 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 Beginn der Aufzeichnung festgelegt werden. Sobald die Aufzeichnung gestartet ist, werden alle festgelegten Metadaten der nächsten Aufzeichnung zugeordnet.

Hinweis: Setter -Funktion für die Eigenschaft „ metaData “.

Siehe auch ` metaData()`.

void QMediaRecorder::setOutputDevice(QIODevice *device)

Legen Sie das Ausgabe-E/A-Gerät für Medieninhalte fest.

Die Datei „ device “ muss vor Beginn der Aufzeichnung im Modus „ WriteOnly “ oder „ ReadWrite “ geöffnet worden sein.

Der Medienrekorder übernimmt nicht die Kontrolle über das angegebene „ device “. Wenn die Aufnahme gestartet wurde, muss das Gerät aktiv und geöffnet bleiben, bis das Signal „ recorderStateChanged(StoppedState) “ gesendet wird.

Diese Methode setzt „ actualLocation “ sofort zurück, es sei denn, der angegebene „ device “ lautet „ null “.

Wenn dem Recorder ein beschreibbares Ausgabegerät zugewiesen ist, wird „ outputLocation “ ignoriert, und „ actualLocation “ wird beim Start der Aufnahme nicht generiert. Dieses Verhalten kann sich in Zukunft ändern, daher empfehlen wir, nur eine Ausgabe festzulegen, entweder „ outputLocation “ oder „ outputDevice “.

QMediaRecorder::setOutputDevice wird nur vom FFmpeg-Backend unterstützt.

Siehe auch outputDevice() und outputLocation.

void QMediaRecorder::setVideoBitRate(int bitRate)

Legt die Video bitRate in Bit pro Sekunde fest.

Hinweis: Setter -Funktion für die Eigenschaft „ videoBitRate “.

Siehe auch ` videoBitRate()`.

void QMediaRecorder::setVideoFrameRate(qreal frameRate)

Legt die Videokodierungs frameRate fest.

Hinweis: Setter -Funktion für die Eigenschaft ` videoFrameRate`.

Siehe auch ` videoFrameRate()`.

void QMediaRecorder::setVideoResolution(const QSize &size)

Legt die Auflösung des kodierten Videos auf „ size “ fest.

Übergeben Sie ein leeres ` QSize `, damit der Recorder anhand der von der Videoquelle verfügbaren Optionen und der Einschränkungen des Codecs eine optimale Auflösung auswählt.

Hinweis: Setter -Funktion für die Eigenschaft ` videoResolution`.

Siehe auch ` videoResolution()`.

void QMediaRecorder::setVideoResolution(int width, int height)

Legt die Werte für „ width “ und „ height “ der Auflösung des kodierten Videos fest.

Hinweis: Setter -Funktion für die Eigenschaft „ videoResolution “.

Dies ist eine überladene Funktion.

[slot] void QMediaRecorder::stop()

Der Recorder beendet die Aufnahme. Die Verarbeitung der noch ausstehenden Video- und Audiodaten kann jedoch noch einige Zeit in Anspruch nehmen. Die Aufnahme ist abgeschlossen, sobald sich der Status des Medienrekorders in „ QMediaRecorder::StoppedState “ ändert.

int QMediaRecorder::videoBitRate() const

Gibt die Bitrate des komprimierten Videostreams in Bit pro Sekunde zurück.

Hinweis: Getter -Funktion für die Eigenschaft „videoBitRate“.

Siehe auch „ setVideoBitRate()“.

[signal] void QMediaRecorder::videoBitRateChanged()

Gibt ein Signal aus, wenn sich die Bitrate der Videoaufnahme ändert.

Hinweis: Benachrichtigungssignal für die Eigenschaft „ videoBitRate “.

qreal QMediaRecorder::videoFrameRate() const

Gibt die Bildrate der Videokodierung zurück.

Hinweis: Getter -Funktion für die Eigenschaft „videoFrameRate“.

Siehe auch „ setVideoFrameRate()“.

[signal] void QMediaRecorder::videoFrameRateChanged()

Gibt ein Signal aus, wenn sich die Bildrate der Videokodierung ä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()

Gibt ein Signal aus, wenn sich die Auflösung der Videoaufzeichnung ändert.

Hinweis: Benachrichtigungssignal für die Eigenschaft „ videoResolution “.

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