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ée | Notes ou suggestion d'alternative |
|---|---|
| Liste de lecture dans QMediaPlayer | QMediaPlayer ne gère plus les listes de lecture dans Qt 6. |
| QMediaPlayList | Cette 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 QVideoProbe | L'API de sondage audio et vidéo a été supprimée. |
| QAudioRecorder | Utilisez le type QML QMediaCaptureSession ou CaptureSession. |
| Type QML audio | Utilisez le type QML MediaPlayer. |
| QMediaObject et QMediaBindableInterface | Ces 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. |
| QCameraViewFinderSettings | Cette 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. |
| QMediaContent | Cette classe a été supprimée. Utilisez plutôt QUrl pour les fichiers multimédias individuels. |
| QSound | Utilisez plutôt QSoundEffect. |
| QVideoFilterRunnable | Utilisez les effets d'ombrage en QML ou accédez au contenu de QVideoFrame en C++. |
| API publique d'arrière-plan | L'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érimentale | L'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ée | Remarques |
|---|---|
| Gestion des résolutions et des fréquences d'images des caméras | Leur 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ées | QMediaMetaData 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. |
| QMediaFormat | La 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é QImageCapture | Aucun |
| Entrées et sorties audio | QMediaPlayer 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éo | Par 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.