Sur cette page

Exemple de lecteur multimédia

Lecture de fichiers audio et vidéo à l'aide de Qt Widgets.

Lecteur multimédia affichant la lecture d'une vidéo et le panneau de commande

Media Player présente un lecteur multimédia simple capable de lire des fichiers audio et vidéo à l'aide de divers codecs.

Exécution de l'exemple

Vous pouvez exécuter l'exemple à partir de :

L’exemple utilise un objet ` QMediaPlayer ` transmis à un ` QVideoWidget ` pour contrôler la sortie vidéo. Pour doter l’application d’une fonctionnalité de liste de lecture, nous utilisons également un objet `QMediaPlaylist`. `QMediaPlaylist` a été supprimé de notre API dans Qt 6, mais son implémentation est incluse dans cet exemple.

Un indicateur de niveau audio affiche les niveaux de crête et RMS pendant la lecture. Cela est mis en œuvre en configurant un ` QAudioBufferOutput ` en ` QMediaPlayer`, en traitant chaque ` QAudioBuffer ` qu’il émet sur un thread distinct et en visualisant les valeurs via ` QWidget::paintEvent`.

Pour activer les différentes fonctions telles que la lecture et l’arrêt dans la boîte de dialogue, les événements de clic sur les boutons émettent les signaux `play()` et `stop()`, qui sont connectés aux slots `play()` et `stop()` de ` QMediaPlayer`.

connect(controls, SIGNAL(play()), player, SLOT(play()));
connect(controls, SIGNAL(pause()), player, SLOT(pause()));
connect(controls, SIGNAL(stop()), player, SLOT(stop()));

Nous pouvons récupérer le volume (et mettre à jour l’affichage de notre interface utilisateur)

controls->setVolume(player->volume());

et faire en sorte que les modifications du widget « volume » modifient le volume

connect(controls, SIGNAL(changeVolume(int)), player, SLOT(setVolume(int)));

L'exemple nous permet également de modifier les propriétés de la vidéo à l'aide de l'objet QVideoWidget. Nous pouvons passer en mode plein écran d'un simple clic sur un bouton, puis revenir en mode normal.

Exemple de projet sur code.qt.io

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