Auf dieser Seite

Beispiel für einen Media Player

Wiedergabe von Audio- und Videodateien mit „ Qt Widgets “.

Mediaplayer mit Videowiedergabe und Bedienfeld

„Media Player“ demonstriert einen einfachen Multimedia-Player, der Audio- und Videodateien mit verschiedenen Codecs abspielen kann.

Ausführen des Beispiels

Sie können das Beispiel wie folgt ausführen:

Das Beispiel verwendet ein „ QMediaPlayer “-Objekt, das an einen „ QVideoWidget “ übergeben wird, um die Videoausgabe zu steuern. Um der Anwendung die Möglichkeit zur Wiedergabe von Wiedergabelisten zu geben, verwenden wir außerdem ein „QMediaPlaylist“-Objekt. „QMediaPlaylist“ wurde in Qt 6 aus unserer API entfernt, seine Implementierung ist jedoch in diesem Beispiel enthalten.

Ein Audiopegelanzeiger zeigt während der Wiedergabe Spitzen- und RMS-Pegel an. Dies wird umgesetzt, indem ein ` QAudioBufferOutput ` auf ` QMediaPlayer` gesetzt wird, jedes von ihm ausgegebene ` QAudioBuffer ` in einem separaten Thread verarbeitet und die Werte über ` QWidget::paintEvent` visualisiert werden.

Um die verschiedenen Funktionen wie „Wiedergabe“ und „Stopp“ im Dialogfeld zu aktivieren, senden die Ereignisse beim Klicken auf die Schaltflächen die Signale „play()“ und „stop()“ aus, die mit den Slots „play()“ und „stop()“ von „ QMediaPlayer “ verbunden sind.

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

Wir können die Lautstärke abrufen (und die Darstellung in unserer Benutzeroberfläche anpassen)

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

und wir können dafür sorgen, dass Änderungen am Widget „volume“ die Lautstärke ändern

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

Das Beispiel ermöglicht es uns außerdem, die Videoeigenschaften mithilfe des Objekts „ QVideoWidget “ zu ändern. Mit einem einzigen Klick auf eine Schaltfläche können wir in den Vollbildmodus wechseln und wieder zurückkehren.

Beispielprojekt @ 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.