QMediaRecorder Class
La classe QMediaRecorder sert à encoder et à enregistrer une session de capture. En savoir plus...
| En-tête : | #include <QMediaRecorder> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake : | QT += multimedia |
| En QML : | MediaRecorder |
| Hérite de : | QObject |
Types publics
| 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 } |
Propriétés
|
|
Fonctions publiques
| 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 |
Emplacements publics
Signaux
| 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() |
Description détaillée
Utilisez la classe QMediaRecorder pour encoder et enregistrer les fichiers multimédias générés dans QMediaCaptureSession. Vous pouvez générer :
- De l'audio. Utilisez QAudioInput ou QAudioBufferInput.
- De la vidéo. Utilisez QCamera, QScreenCapture, QWindowCapture, QVideoFrameInput ou QGStreamerVideoSource (sur Linux embarqué avec le backend multimédia
gstreamer).
Pour enregistrer des médias, connectez un générateur à une session de capture multimédia correspondante.
Les performances de l'encodage et de l'enregistrement vidéo sont limitées par le matériel, le système d'exploitation, les pilotes graphiques installés et le format vidéo d'entrée. Si QCamera, QScreenCapture ou QWindowCapture produit des images vidéo plus rapidement que QMediaRecorder ne peut les encoder et les enregistrer, l'enregistreur peut omettre certaines images. Ce phénomène est susceptible de se produire si la résolution des images d’entrée est élevée, en 4K par exemple, et que l’encodage accéléré par le matériel n’est pas disponible. Si vous générez une vidéo d’entrée via QVideoFrameInput, la méthode QVideoFrameInput::sendVideoFrame ne fera rien et renverra false dès que cette limite sera atteinte et que la file d’attente interne d’images sera pleine. Utilisez le signal QVideoFrameInput::readyToSendVideoFrame pour savoir quand l’enregistreur est à nouveau prêt à recevoir de nouvelles images. Si vous ne pouvez pas modifier la fréquence de génération des images vidéo et que la perte d’images n’est pas souhaitable, nous vous recommandons d’implémenter votre propre file d’attente d’images en plus de QVideoFrameInput, en tenant compte des limitations de mémoire du matériel.
QMediaCaptureSession session;
QAudioInput audioInput;
session.setAudioInput(&audioInput);
QMediaRecorder recorder;
session.setRecorder(&recorder);
recorder.setQuality(QMediaRecorder::HighQuality);
recorder.setOutputLocation(QUrl::fromLocalFile("test.mp3"));
recorder.record();Documentation sur les types de membres
enum QMediaRecorder::EncodingMode
Énumère les modes d'encodage.
| Constante | Valeur | Description |
|---|---|---|
QMediaRecorder::ConstantQualityEncoding | 0 | L'encodage visera à maintenir une qualité constante, en ajustant le débit binaire en conséquence. |
QMediaRecorder::ConstantBitRateEncoding | 1 | L'encodage utilisera un débit binaire constant et ajustera la qualité en conséquence. |
QMediaRecorder::AverageBitRateEncoding | 2 | L'encodage tentera de maintenir un débit binaire moyen, mais en utilisera plus ou moins selon les besoins. |
QMediaRecorder::TwoPassEncoding | 3 | Le fichier multimédia sera d'abord traité afin d'en déterminer les caractéristiques, puis traité une seconde fois en allouant davantage de bits aux zones qui en ont besoin. |
enum QMediaRecorder::Error
| Constante | Valeur | Description |
|---|---|---|
QMediaRecorder::NoError | 0 | Aucune erreur. |
QMediaRecorder::ResourceError | 1 | L'appareil n'est pas prêt ou n'est pas disponible. |
QMediaRecorder::FormatError | 2 | Le format actuel n'est pas pris en charge. |
QMediaRecorder::OutOfSpaceError | 3 | Plus d'espace disponible sur le périphérique. |
QMediaRecorder::LocationNotWritable | 4 | L'emplacement de sortie n'est pas accessible en écriture. |
enum QMediaRecorder::Quality
Énumère les niveaux de qualité d'encodage.
| Constante | Valeur |
|---|---|
QMediaRecorder::VeryLowQuality | 0 |
QMediaRecorder::LowQuality | 1 |
QMediaRecorder::NormalQuality | 2 |
QMediaRecorder::HighQuality | 3 |
QMediaRecorder::VeryHighQuality | 4 |
enum QMediaRecorder::RecorderState
| Constante | Valeur | Description |
|---|---|---|
QMediaRecorder::StoppedState | 0 | L'enregistreur n'est pas actif. |
QMediaRecorder::RecordingState | 1 | L'enregistrement est demandé. |
QMediaRecorder::PausedState | 2 | L'enregistreur est en pause. |
Documentation sur les propriétés
[read-only] actualLocation : QUrl
Cette propriété contient l'emplacement réel du dernier contenu multimédia.
L'emplacement réel est réinitialisé lorsqu'un nouvel « outputLocation » ou un « outputDevice » non nul est attribué. Lorsque la méthode « record() » est appelée et que « outputDevice » est « null » ou n'est pas accessible en écriture, l'enregistreur génère l'emplacement réel en se basant sur les règles suivantes.
- Si
outputLocationest vide, s’il s’agit d’un répertoire ou d’un fichier sans extension, l’enregistreur génère l’extension appropriée en fonction du format multimédia sélectionné et des types MIME du système. - Si «
outputLocation» est un répertoire, l’enregistreur génère un nouveau nom de fichier à l’intérieur de celui-ci. - Si «
outputLocation» est vide, l’enregistreur génère un nouveau nom de fichier dans le répertoire spécifique au système pour les fichiers audio ou vidéo. - L'enregistreur génère l'emplacement réel avant d'émettre `
recorderStateChanged(RecordingState)`.
Fonctions d’accès :
| QUrl | actualLocation() const |
Signal de notification :
| void | actualLocationChanged(const QUrl &location) |
audioBitRate : int
Cette propriété contient le débit binaire du flux audio compressé, exprimé en bits par seconde.
Fonctions d’accès :
| int | audioBitRate() const |
| void | setAudioBitRate(int bitRate) |
Signal de notification :
| void | audioBitRateChanged() |
audioChannelCount : int
Cette propriété indique le nombre de canaux audio.
Fonctions d'accès :
| int | audioChannelCount() const |
| void | setAudioChannelCount(int channels) |
Signal de notification :
| void | audioChannelCountChanged() |
audioSampleRate : int
Cette propriété contient la fréquence d'échantillonnage audio en Hz.
Fonctions d'accès :
| int | audioSampleRate() const |
| void | setAudioSampleRate(int sampleRate) |
Signal de notification :
| void | audioSampleRateChanged() |
autoStop : bool
Cette propriété détermine si l'enregistreur multimédia s'arrête automatiquement lorsque toutes les entrées multimédia ont signalé la fin du flux ou ont été désactivées.
La fin du flux est signalée par l'envoi d'une trame multimédia vide, que vous pouvez envoyer explicitement via QVideoFrameInput ou QAudioBufferInput.
Les entrées vidéo, plus précisément QCamera, QScreenCapture et QWindowCapture, peuvent être désactivées via la fonction setActive.
La valeur par défaut est false.
QMediaRecorder::autoStop n'est pris en charge qu'avec le backend FFmpeg.
Fonctions d'accès :
| bool | autoStop() const |
| void | setAutoStop(bool autoStop) |
Signal de notification :
| void | autoStopChanged() |
Voir également QCamera, QScreenCapture et QWindowCapture.
[read-only] duration : qint64
Cette propriété contient la durée de l'enregistrement, exprimée en millisecondes.
Fonctions d'accès :
| qint64 | duration() const |
Signal de notification :
| void | durationChanged(qint64 duration) |
encodingMode : QMediaRecorder::EncodingMode
Cette propriété contient le mode d'encodage.
Fonctions d'accès :
| QMediaRecorder::EncodingMode | encodingMode() const |
| void | setEncodingMode(QMediaRecorder::EncodingMode mode) |
Signal de notification :
| void | encodingModeChanged() |
Voir également EncodingMode.
[read-only] error : QMediaRecorder::Error
Renvoie l'état d'erreur actuel.
Fonctions d'accès :
| QMediaRecorder::Error | error() const |
Signal de notification :
| void | errorChanged() |
Voir aussi errorString().
[read-only] errorString : QString
Renvoie une chaîne décrivant l'état d'erreur actuel.
Fonctions d'accès :
| QString | errorString() const |
Signal de notification :
| void | errorChanged() |
Voir également error().
mediaFormat : QMediaFormat
Cette propriété contient l'QMediaFormat tion actuelle de l'enregistreur.
La valeur de cette propriété peut changer lors de l'appel de la fonction ` record()`. Si cela se produit, le signal `mediaFormatChanged()` sera émis. Cela se produira systématiquement si les propriétés ` QMediaFormat::audioCodec ` ou ` QMediaFormat::fileFormat ` sont définies sur « non spécifié ». Si une source vidéo (QCamera, QScreenCapture ou QVideoFrameInput) est connectée à ` QMediaCaptureSession`, ` QMediaFormat::videoCodec ` doit également être spécifié. Les valeurs des propriétés ` QMediaFormat::audioCodec ` et ` QMediaFormat::videoCodec ` peuvent également changer si le backend multimédia ne prend pas en charge le format de fichier ou le codec sélectionné.
La valeur de la propriété QMediaFormat::fileFormat peut également passer à un format exclusivement audio si un format vidéo a été demandé, mais que QMediaCaptureSession ne dispose d’aucune source vidéo connectée. Par exemple, si QMediaFormat::fileFormat est défini sur QMediaFormat::MPEG4, il peut être remplacé par QMediaFormat::Mpeg4Audio.
Les applications peuvent déterminer si mediaFormat va changer avant le début de l'enregistrement en appelant la fonction QMediaFormat::isSupported(). Lors d'un enregistrement sans aucune entrée vidéo, record() ne modifiera pas la valeur de QMediaFormat si la condition suivante est remplie :
- QMediaFormat::fileFormat est spécifiée
- QMediaFormat::audioCodec est spécifié
- QMediaFormat::videoCodec n'est pas spécifié
- QMediaFormat::isSupported() renvoie
true
Lors d’un enregistrement avec entrée vidéo, ` mediaFormat ` ne sera pas modifié si les conditions suivantes sont remplies :
- QMediaFormat::fileFormat est spécifié
- QMediaFormat::audioCodec est spécifié
- QMediaFormat::videoCodec est spécifié
- QMediaFormat::isSupported() renvoie
true
Remarque : la propriété ` QMediaRecorder ` ne prend pas en compte l’extension du nom de fichier définie par la propriété ` outputLocation ` lors de la détermination de l’ QMediaFormat::fileFormat, et n’ajustera pas l’extension du fichier ` outputLocation ` QUrl pour qu’elle corresponde au format de fichier sélectionné si une extension est spécifiée. Les applications doivent donc veiller à définir la propriété ` QMediaRecorder::mediaFormat::fileFormat ` de manière à ce qu’elle corresponde à l’extension du fichier, ou à ne pas spécifier d’extension de fichier. Si aucune extension de fichier n’est spécifiée, l’extension du fichier ` actualLocation ` sera mise à jour pour correspondre au format de fichier utilisé pour l’enregistrement.
Fonctions d'accès :
| QMediaFormat | mediaFormat() const |
| void | setMediaFormat(const QMediaFormat &format) |
Signal de notification :
| void | mediaFormatChanged() |
Voir également QMediaFormat::isSupported() et actualLocation.
metaData : QMediaMetaData
Renvoie les métadonnées associées à l'enregistrement.
Fonctions d'accès :
| QMediaMetaData | metaData() const |
| void | setMetaData(const QMediaMetaData &metaData) |
Signal de notification :
| void | metaDataChanged() |
outputLocation : QUrl
Cette propriété contient l'emplacement de destination du contenu multimédia.
La configuration de l'emplacement peut échouer, par exemple lorsque le service ne prend en charge que les emplacements du système de fichiers local, mais qu'une URL réseau a été fournie. Si l'opération échoue, le signal errorOccurred() est émis.
L'emplacement de sortie est ignoré si un outputDevice accessible en écriture a été attribué à l'enregistreur. Ce comportement est susceptible d'évoluer à l'avenir ; nous recommandons donc de ne définir qu'un seul emplacement de sortie, soit outputLocation, soit outputDevice.
L'emplacement de sortie peut être vide, un répertoire ou un fichier. Le chemin d'accès à un répertoire ou à un fichier peut être relatif ou absolu. La méthode ` record()` génère l'emplacement réel en fonction de l'emplacement de sortie spécifié et des paramètres propres au système. Reportez-vous à la description de la propriété ` actualLocation ` pour plus de détails.
Fonctions d’accès :
| QUrl | outputLocation() const |
| void | setOutputLocation(const QUrl &location) |
Voir également actualLocation et outputDevice().
quality : Quality
Renvoie la qualité d'enregistrement.
Fonctions d'accès :
| QMediaRecorder::Quality | quality() const |
| void | setQuality(QMediaRecorder::Quality quality) |
Signal de notification :
| void | qualityChanged() |
[read-only] recorderState : QMediaRecorder::RecorderState
Cette propriété contient l'état actuel de l'enregistreur multimédia.
La propriété « state » représente la requête de l'utilisateur et est modifiée de manière synchrone lors des appels à record(), pause() ou stop(). L'état de l'enregistreur peut également changer de manière asynchrone en cas d'échec de l'enregistrement.
Fonctions d'accès :
| QMediaRecorder::RecorderState | recorderState() const |
Signal de notification :
| void | recorderStateChanged(QMediaRecorder::RecorderState state) |
[since 6.6] videoBitRate : int
Cette propriété contient le débit binaire du flux vidéo compressé, exprimé en bits par seconde.
Cette énumération a été introduite dans Qt 6.6.
Fonctions d'accès :
| int | videoBitRate() const |
| void | setVideoBitRate(int bitRate) |
Signal de notification :
| void | videoBitRateChanged() |
[since 6.6] videoFrameRate : qreal
Cette propriété définit la fréquence d'images utilisée lors de l'encodage.
Si cette propriété est définie sur une fréquence d'images positive, QMediaRecorder tente d'encoder à cette fréquence. Si les fréquences d'images de la source vidéo et de l'encodeur sont différentes, certaines images de la source peuvent être supprimées ou dupliquées afin d'atteindre la fréquence cible.
Si elle est laissée à sa valeur par défaut (-1) ou définie sur une autre valeur non positive, QMediaRecorder tente de faire le choix optimal en fonction de la source vidéo et des limitations du codec.
Cette énumération a été introduite dans Qt 6.6.
Fonctions d'accès :
| qreal | videoFrameRate() const |
| void | setVideoFrameRate(qreal frameRate) |
Signal de notification :
| void | videoFrameRateChanged() |
[since 6.6] videoResolution : QSize
Cette propriété indique la résolution de la vidéo encodée.
Si l'QSize est vide, cela signifie que l'enregistreur choisira une résolution optimale en fonction des données disponibles provenant de la source vidéo et des limitations du codec.
Cette énumération a été introduite dans Qt 6.6.
Fonctions d'accès :
| QSize | videoResolution() const |
| void | setVideoResolution(const QSize &size) |
| void | setVideoResolution(int width, int height) |
Signal de notification :
| void | videoResolutionChanged() |
Documentation des fonctions membres
QMediaRecorder::QMediaRecorder(QObject *parent = nullptr)
Crée un enregistreur multimédia. L'enregistreur multimédia est un élément enfant de ` parent`.
[override virtual noexcept] QMediaRecorder::~QMediaRecorder()
Supprime un objet « media recorder ».
[signal] void QMediaRecorder::actualLocationChanged(const QUrl &location)
Indique que l'location réelle du support enregistré a changé. Ce signal est généralement émis au début de l'enregistrement.
Remarque : signalde notification pour la propriété « actualLocation ».
void QMediaRecorder::addMetaData(const QMediaMetaData &metaData)
Ajoute « metaData » au support d'enregistrement.
int QMediaRecorder::audioBitRate() const
Renvoie le débit binaire du flux audio compressé, en bits par seconde.
Remarque : fonctiongetter pour la propriété audioBitRate.
Voir aussi setAudioBitRate().
[signal] void QMediaRecorder::audioBitRateChanged()
Signale tout changement du débit binaire d'enregistrement audio.
Remarque : signalde notification pour la propriété « audioBitRate ».
int QMediaRecorder::audioChannelCount() const
Renvoie le nombre de canaux audio.
Remarque : fonctiongetter pour la propriété audioChannelCount.
Voir aussi setAudioChannelCount().
[signal] void QMediaRecorder::audioChannelCountChanged()
Émet un signal lorsque le nombre de canaux audio d'enregistrement change.
Remarque : signalde notification pour la propriété audioChannelCount.
int QMediaRecorder::audioSampleRate() const
Renvoie la fréquence d'échantillonnage audio en Hz.
Remarque : fonctiongetter pour la propriété audioSampleRate.
Voir aussi setAudioSampleRate().
[signal] void QMediaRecorder::audioSampleRateChanged()
Émet un signal lorsque la fréquence d'échantillonnage audio de l'enregistrement change.
Remarque : signalde notification pour la propriété audioSampleRate.
QMediaCaptureSession *QMediaRecorder::captureSession() const
Renvoie la session de capture multimédia.
[signal] void QMediaRecorder::durationChanged(qint64 duration)
Indique que l'duration s du support enregistré a changé.
Remarque : signalde notification pour la propriété « duration ».
QMediaRecorder::EncodingMode QMediaRecorder::encodingMode() const
Renvoie le mode d'encodage.
Remarque : fonctiongetter pour la propriété encodingMode.
Voir également setEncodingMode() et EncodingMode.
[signal] void QMediaRecorder::encodingModeChanged()
Signale tout changement de mode d'encodage.
Remarque : signalde notification pour la propriété encodingMode.
[signal] void QMediaRecorder::errorOccurred(QMediaRecorder::Error error, const QString &errorString)
Indique qu'une « error » s'est produite, avec errorString contenant une description de l'erreur.
bool QMediaRecorder::isAvailable() const
Renvoie « true » si le service d'enregistrement multimédia est prêt à l'emploi.
[signal] void QMediaRecorder::metaDataChanged()
Indique que les métadonnées d'un objet multimédia ont été modifiées.
Si plusieurs éléments de métadonnées sont modifiés, la fonction metaDataChanged() est émise une seule fois.
Remarque : signalde notification pour la propriété metaData.
QIODevice *QMediaRecorder::outputDevice() const
Renvoie le périphérique d'E/S de sortie pour le contenu multimédia.
Voir également setOutputDevice().
[slot] void QMediaRecorder::pause()
Interrompt l'enregistrement.
L'état de l'enregistreur passe à « QMediaRecorder::PausedState ».
Selon la plateforme, la mise en pause de l'enregistrement peut ne pas être prise en charge. Dans ce cas, l'état de l'enregistreur reste inchangé.
[signal] void QMediaRecorder::qualityChanged()
Signale tout changement de qualité d'enregistrement.
Remarque : signalde notification pour la propriété quality.
[slot] void QMediaRecorder::record()
Lance l'enregistrement.
Bien que l'état de l'enregistreur passe immédiatement à c{QMediaRecorder::RecordingState}, l'enregistrement peut démarrer de manière asynchrone.
En cas d’échec de l’enregistrement, le signal error() est émis et l’état de l’enregistreur est réinitialisé à QMediaRecorder::StoppedState.
Cette méthode met à jour actualLocation conformément à ses règles de génération.
Remarque : sur les appareils mobiles, l’enregistrement s’effectue dans l’orientation que l’appareil avait au moment de l’appel de la méthode `record` et celle-ci est verrouillée pendant toute la durée de l’enregistrement. Pour éviter les artefacts sur l’interface utilisateur, nous recommandons de maintenir l’interface utilisateur verrouillée dans la même orientation tant que l’enregistrement est en cours à l’aide de la propriété `contentOrientation` de ` QWindow `, puis de la déverrouiller une fois l’enregistrement terminé.
QMediaRecorder::RecorderState QMediaRecorder::recorderState() const
Renvoie l'état actuel de l'enregistreur multimédia.
Remarque : fonctiongetter pour la propriété recorderState.
Voir aussi QMediaRecorder::RecorderState.
[signal] void QMediaRecorder::recorderStateChanged(QMediaRecorder::RecorderState state)
Indique qu’une propriété d’ state d’un enregistreur multimédia a changé.
Remarque : signalde notification pour la propriété « recorderState ».
void QMediaRecorder::setAudioBitRate(int bitRate)
Définit l'bitRate audio en bits par seconde.
Remarque : fonctionde définition de la propriété audioBitRate.
Voir aussi audioBitRate().
void QMediaRecorder::setAudioChannelCount(int channels)
Définit le nombre d'channels s audio.
Une valeur de -1 indique que l'enregistreur doit effectuer un choix optimal en fonction des données disponibles provenant de la source audio et des limitations du codec.
Remarque : fonctionde définition de la propriété audioChannelCount.
Voir également audioChannelCount().
void QMediaRecorder::setAudioSampleRate(int sampleRate)
Définit l'sampleRate audio en Hz.
Une valeur de « -1 » indique que l'enregistreur doit effectuer un choix optimal en fonction des données disponibles provenant de la source audio et des limitations du codec.
Remarque : fonctionde définition de la propriété audioSampleRate.
Voir aussi audioSampleRate().
void QMediaRecorder::setEncodingMode(QMediaRecorder::EncodingMode mode)
Définit le paramètre d'mode d'encodage.
Si « ConstantQualityEncoding » est défini, le paramètre d'encodage « quality » est utilisé et les débits binaires sont ignorés ; dans le cas contraire, ce sont les débits binaires qui sont utilisés.
Remarque : fonctionde définition de la propriété encodingMode.
Voir également ` encodingMode()` et ` EncodingMode`.
void QMediaRecorder::setMetaData(const QMediaMetaData &metaData)
Définit les métadonnées sur « metaData ».
Remarque : pour garantir que les métadonnées soient correctement définies, elles doivent être définies avant le début de l'enregistrement. Une fois l'enregistrement lancé, toute métadonnée définie sera associée à l'enregistrement suivant.
Remarque : fonctionde définition de la propriété metaData.
Voir également metaData().
void QMediaRecorder::setOutputDevice(QIODevice *device)
Définir le périphérique d'E/S de sortie pour le contenu multimédia.
L'device doit avoir été ouvert en mode « WriteOnly » ou « ReadWrite » avant le début de l'enregistrement.
L'enregistreur multimédia ne prend pas possession de l'device spécifié. Si l'enregistrement a été lancé, le périphérique doit rester actif et ouvert jusqu'à ce que le signal « recorderStateChanged(StoppedState) » soit émis.
Cette méthode réinitialise immédiatement ` actualLocation `, sauf si le signal ` device ` spécifié est ` null`.
Si un périphérique de sortie accessible en écriture est attribué à l’enregistreur, outputLocation est ignoré, et actualLocation n’est pas généré au démarrage de l’enregistrement. Ce comportement est susceptible d’évoluer à l’avenir ; nous recommandons donc de ne définir qu’une seule sortie, soit outputLocation, soit outputDevice.
QMediaRecorder::setOutputDevice N'est pris en charge qu'avec le backend FFmpeg.
Voir également outputDevice() et outputLocation.
void QMediaRecorder::setVideoBitRate(int bitRate)
Définit l'bitRate vidéo en bits par seconde.
Remarque : fonctionde définition de la propriété videoBitRate.
Voir aussi ` videoBitRate()`.
void QMediaRecorder::setVideoFrameRate(qreal frameRate)
Définit l'frameRate d'encodage vidéo.
Remarque : fonctionde définition de la propriété videoFrameRate.
Voir également videoFrameRate().
void QMediaRecorder::setVideoResolution(const QSize &size)
Définit la résolution de la vidéo encodée sur size.
Passez un paramètre « QSize » vide pour que l'enregistreur choisisse une résolution optimale en fonction des données disponibles provenant de la source vidéo et des limitations du codec.
Remarque : fonctionde définition de la propriété videoResolution.
Voir également videoResolution().
void QMediaRecorder::setVideoResolution(int width, int height)
Définit les paramètres « width » et « height » de la résolution de la vidéo encodée.
Remarque : fonctionde définition de la propriété videoResolution.
Il s'agit d'une fonction surchargée.
[slot] void QMediaRecorder::stop()
L'enregistreur mettra fin à l'enregistrement. Le traitement des données vidéo et audio en attente peut toutefois encore prendre un certain temps. L'enregistrement est terminé dès que l'état de l'enregistreur multimédia passe à « QMediaRecorder::StoppedState ».
int QMediaRecorder::videoBitRate() const
Renvoie le débit binaire du flux vidéo compressé, en bits par seconde.
Remarque : fonctiongetter pour la propriété videoBitRate.
Voir aussi setVideoBitRate().
[signal] void QMediaRecorder::videoBitRateChanged()
Signale tout changement du débit binaire de l'enregistrement vidéo.
Remarque : signalde notification pour la propriété videoBitRate.
qreal QMediaRecorder::videoFrameRate() const
Renvoie la fréquence d'images de l'encodage vidéo.
Remarque : fonctiongetter pour la propriété videoFrameRate.
Voir aussi setVideoFrameRate().
[signal] void QMediaRecorder::videoFrameRateChanged()
Signale tout changement de fréquence d'images lors de l'encodage vidéo.
Remarque : signalde notification pour la propriété videoFrameRate.
QSize QMediaRecorder::videoResolution() const
Renvoie la résolution de la vidéo encodée.
Remarque : fonctiongetter pour la propriété videoResolution.
Voir aussi setVideoResolution().
[signal] void QMediaRecorder::videoResolutionChanged()
Signale tout changement de résolution de l'enregistrement vidéo.
Remarque : signalde notification pour la propriété 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.