QGIS API Documentation 3.99.0-Master (26c88405ac0)
Loading...
Searching...
No Matches
qgsmediawidget.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsmediawidget.h
3
4 ---------------------
5 begin : 2023.01.24
6 copyright : (C) 2023 by Mathieu Pellerin
7 email : mathieu at opengis dot ch
8 ***************************************************************************
9 * *
10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. *
14 * *
15 ***************************************************************************/
16
17#ifndef QGSMEDIAWIDGET_H
18#define QGSMEDIAWIDGET_H
19
20#include "qgis_gui.h"
21#include "qgis_sip.h"
22
23#include <QMediaPlayer>
24#include <QWidget>
25
26class QLabel;
27class QVBoxLayout;
28class QVideoWidget;
29class QPushButton;
30class QSlider;
31
37class GUI_EXPORT QgsMediaWidget : public QWidget
38{
39 Q_OBJECT
40
41 public:
42
46 enum Mode
47 {
50 };
51 Q_ENUM( Mode )
52
53
54 explicit QgsMediaWidget( QWidget *parent SIP_TRANSFERTHIS = nullptr );
55
59 QString mediaPath() const { return mMediaPath; }
60
64 void setMediaPath( const QString &path );
65
69 Mode mode() const { return mMode; }
70
74 void setMode( Mode mode );
75
79 int videoHeight() const;
80
86 void setVideoHeight( int height );
87
91 QMediaPlayer *mediaPlayer() { return &mMediaPlayer; }
92
93 private slots:
94
95 void mediaStatusChanged( QMediaPlayer::MediaStatus status );
96
97 private:
98 void adjustControls();
99 void setControlsEnabled( bool enabled );
100
101 Mode mMode = Audio;
102
103 QVBoxLayout *mLayout = nullptr;
104 QVideoWidget *mVideoWidget = nullptr;
105 QPushButton *mPlayButton = nullptr;
106 QSlider *mPositionSlider = nullptr;
107 QLabel *mDurationLabel = nullptr;
108
109 QMediaPlayer mMediaPlayer;
110
111 QString mMediaPath;
112};
113
114#endif // QGSMEDIAWIDGET_H
A widget for playing back audio and video media files.
QgsMediaWidget(QWidget *parent=nullptr)
Constructor.
Mode mode() const
Returns the media widget mode.
Mode
The mode determines the user interface elements visible within the widget.
@ Video
Video-centric user interface.
@ Audio
Audio-centric user interface.
QMediaPlayer * mediaPlayer()
Returns the QMediaPlayer object.
QString mediaPath() const
Returns the media path.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53