Media Player Example

Playing audio and video using Qt Widgets.

Media Player demonstrates a simple multimedia player that can play audio and video files using various codecs.

Running the Example

To run the example from Qt Creator, open the Welcome mode and select the example from Examples. For more information, see Qt Creator: Tutorial: Build and run.

The example uses a QMediaPlayer object passed into a QVideoWidget to control the video output. To give the application playlist capability we also use a QMediaPlaylist object. QMediaPlaylist was removed from our API in Qt 6, but its implementation is included in this example.

An audio level meter shows peak and RMS levels during playback. This is implemented by setting a QAudioBufferOutput to QMediaPlayer, processing each QAudioBuffer it emits on a separate thread and visualising the values through QWidget::paintEvent.

To activate the various functions such as play and stop on the dialog, the button clicked events emit the play() and stop() signals, which are connected to the play() and stop() slots of QMediaPlayer.

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

We can get the volume (and set our user interface representation)

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

and we can make widget 'volume' changes change the volume

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

The example also allows us to change video properties by means of the QVideoWidget object. We can go to Full Screen mode with a single button click, and back again.

Example project @ code.qt.io

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