Sur cette page

Changements apportés à Qt Multimedia

Qt 6 est le résultat d'un effort conscient pour rendre le cadre plus efficace et plus facile à utiliser.

Nous essayons de maintenir la compatibilité binaire et source pour toutes les API publiques dans chaque version. Mais certains changements étaient inévitables dans un effort pour faire de Qt un meilleur framework.

Le module a été remanié de manière significative et a changé de classification, passant d'essentiel à complémentaire. Le module Qt Multimedia de Qt 6 remplace le module Qt Multimedia de Qt 5.x. Le code existant qui utilise Qt Multimedia de Qt 5 peut être porté avec un effort limité.

Nouvelles fonctionnalités de Qt 6

Il y a un certain nombre de nouvelles fonctionnalités dans Qt Multimedia:

  • QMediaCaptureSession class est l'objet central pour la capture des médias.
  • QMediaRecorder class est maintenant une classe limitée à l'enregistrement audio et vidéo. Elle gère l'encodage des données produites lors d'une session de capture.
  • En utilisant QMediaFormat et QMediaRecorder, la configuration de l'encodage souhaité lors de l'enregistrement a changé de manière significative.
  • Il est désormais possible de surveiller l'audio enregistré par une session de capture.
  • La prise en charge de la sélection des pistes audio, vidéo et des sous-titres lors de la lecture de fichiers multimédias a été ajoutée.
  • QAudioDecoder L'utilisation de l'encodage est désormais prise en charge sur toutes les plates-formes.

Fonctionnalités supprimées

Fonction suppriméeNotes ou suggestion d'alternative
Liste de lecture dans QMediaPlayerQMediaPlayer ne gère plus les listes de lecture dans Qt 6.
QMediaPlayListCette classe a été supprimée de l'API. Elle existe cependant toujours en tant que partie de l'exemple de lecteur multimédia.
QAudioProbe et QVideoProbeL'API de sondage audio et vidéo a été supprimée.
QAudioRecorderUtilisez le type QML QMediaCaptureSession ou CaptureSession.
Type QML audioUtilisez le type QML MediaPlayer.
QMediaObject et QMediaBindableInterfaceCes classes ont été supprimées au profit d'une API plus directe permettant d'établir des connexions entre les objets à l'aide, par exemple, de setVideoOutput et de QMediaCaptureSession.
QCameraViewFinderSettingsCette classe a été supprimée. Utilisez QCameraFormat pour définir la résolution et la fréquence d'images que la caméra doit utiliser.
QMediaContentCette classe a été supprimée. Utilisez plutôt QUrl pour les fichiers multimédias individuels.
QSoundUtilisez plutôt QSoundEffect.
QVideoFilterRunnableUtilisez les effets d'ombrage en QML ou accédez au contenu de QVideoFrame en C++.
API publique d'arrière-planL'API de Qt Multimedia est privée dans Qt 6. Cela permet d'améliorer le temps de réponse pour la prise en charge de nouveaux cas d'utilisation multimédia. Toutes les classes qui contiennent les mots "Control" ou "Abstract" dans le nom de la classe dans Qt 5 sont maintenant privées dans Qt 6.
La prise en charge de l'audio ALSA sous Linux est expérimentaleL'audio sous Linux nécessite PulseAudio. La prise en charge expérimentale de l'ALSA sera abandonnée dans les futures versions de Qt. Voir les notes relatives à la plate-forme Linux pour plus de détails.

Fonctionnalités modifiées

Un certain nombre de classes précédemment proposées sur Qt Multimedia ont été modifiées d'une manière qui peut affecter le code précédemment écrit. Le tableau suivant met en évidence ces changements.

Fonctionnalité modifiéeRemarques
Gestion des résolutions et des fréquences d'images des camérasLeur gestion a été simplifiée et une nouvelle classe QCameraFormat aide à sélectionner la résolution et la fréquence d'images correctes pour la caméra.
La gestion de la sortie vidéo du côté C++ a été modifiée de manière significative.QAbstractVideoSurface a été remplacée par la classe QVideoSink, et la prise en charge du rendu générique a été améliorée pour couvrir tous les formats de pixelspris en charge par Qt Multimedia.
Types de métadonnéesQMediaMetaData ont été modifiés de manière significative : principalement en passant de clés basées sur des chaînes à des clés basées sur des énumérations, et en réduisant l'ensemble des clés prises en charge à celles qui peuvent être prises en charge sur la plupart des plates-formes.
QMediaFormatLa gestion des formats pour les médias encodés et les paramètres de l'enregistreur de médias ont été modifiés de manière significative. Qt 5 fournit une API basée sur des chaînes, un format de fichier séparé et des codecs audio et vidéo répartis en trois classes. Cependant, Qt 6 unifie les formats dans la classe QMediaFormat. Des paramètres supplémentaires sont directement spécifiés dans la classe QMediaRecorder. La configuration des formats de fichiers et des codecs est désormais implémentée avec des enums et n'utilise plus de chaînes de caractères. Cela limite l'ensemble des codecs qui peuvent être utilisés, mais permet de fournir une API multiplateforme cohérente.
QCameraImageCapture renommé QImageCaptureAucun
Entrées et sorties audioQMediaPlayer et QMediaCaptureSession (et les types QML correspondants MediaPlayer et CaptureSession) ne sont pas connectés à des périphériques audio par défaut. Connectez-les explicitement à un périphérique QAudioInput/AudioInput ou QAudioOutput/AudioOutput pour capturer ou lire de l'audio.
Capture vidéoPar défaut, une session de capture n'est pas connectée à une caméra. Connectez-la à un objet QCamera (Camera item) pour pouvoir capturer de la vidéo ou des images fixes.

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