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 de vidéos et le panneau de contrôle

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

Exécution de l'exemple

Pour exécuter l'exemple à partir de Qt CreatorOuvrez le mode Welcome et sélectionnez l'exemple à partir de Examples. Pour plus d'informations, voir Qt Creator: Tutoriel : Construire et exécuter.

L'exemple utilise un objet QMediaPlayer transmis à un objet QVideoWidget pour contrôler la sortie vidéo. Pour donner à l'application une capacité 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 montre les niveaux de crête et de valeur efficace pendant la lecture. Il est mis en œuvre en définissant un QAudioBufferOutput sur QMediaPlayer, en traitant chaque QAudioBuffer qu'il émet sur un thread séparé et en visualisant les valeurs via QWidget::paintEvent.

Pour activer les différentes fonctions telles que la lecture et l'arrêt de la boîte de dialogue, les événements liés au clic sur le bouton émettent les signaux play() et stop(), qui sont connectés aux emplacements 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 obtenir le volume (et définir notre représentation de l'interface utilisateur)

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

et nous pouvons modifier le volume à l'aide du widget "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 au moyen de l'objet QVideoWidget. Nous pouvons passer en mode plein écran d'un simple clic sur un bouton, et inversement.

Exemple de projet @ 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.