Vagyojaka 5.5.7
Loading...
Searching...
No Matches
audioplayerwidget.h
Go to the documentation of this file.
1#ifndef AUDIOPLAYERWIDGET_H
2#define AUDIOPLAYERWIDGET_H
3
4#include <QWidget>
5#include <QMediaPlayer>
6#include <QAudioOutput>
7#include <QSlider>
8#include <QLabel>
9#include <QComboBox>
10#include <QToolButton>
11#include <memory>
12
13class AudioPlayerWidget : public QWidget {
14 Q_OBJECT
15
16public:
17 explicit AudioPlayerWidget(const QString &audioFilePath, QWidget *parent = nullptr);
19
20 QMediaPlayer::PlaybackState state() const;
21 QString getAudioFileName(bool includeExtension = true) const;
22
23public slots:
24 void playClicked();
25 void seek(int mseconds);
26 void updateRate();
27 void stop();
28
29private slots:
30 void positionChanged(qint64 progress);
31 void durationChanged(qint64 duration);
32 void setState(QMediaPlayer::PlaybackState state);
33 void handleError(QMediaPlayer::Error error, const QString &errorString);
34
35private:
36 void setupUi();
38 void updateDurationInfo(qint64 currentInfo);
39 qreal playbackRate() const;
40
42 std::unique_ptr<QMediaPlayer> m_mediaPlayer;
43 std::unique_ptr<QAudioOutput> m_audioOutput;
44 QToolButton *m_playButton;
45 QToolButton *m_stopButton;
46 QSlider *m_slider;
48 QComboBox *m_rateBox;
49 qint64 m_duration = 0;
50 QMediaPlayer::PlaybackState m_playerState = QMediaPlayer::StoppedState;
51};
52
53#endif // AUDIOPLAYERWIDGET_H
Definition audioplayerwidget.h:13
QSlider * m_slider
Definition audioplayerwidget.h:46
void playClicked()
Definition audioplayerwidget.cpp:73
qreal playbackRate() const
Definition audioplayerwidget.cpp:125
QLabel * m_labelDuration
Definition audioplayerwidget.h:47
void seek(int mseconds)
Definition audioplayerwidget.cpp:86
QMediaPlayer::PlaybackState m_playerState
Definition audioplayerwidget.h:50
void durationChanged(qint64 duration)
Definition audioplayerwidget.cpp:97
void connectSignalsAndSlots()
Definition audioplayerwidget.cpp:60
std::unique_ptr< QAudioOutput > m_audioOutput
Definition audioplayerwidget.h:43
void handleError(QMediaPlayer::Error error, const QString &errorString)
Definition audioplayerwidget.cpp:157
void setupUi()
Definition audioplayerwidget.cpp:20
qint64 m_duration
Definition audioplayerwidget.h:49
QMediaPlayer::PlaybackState state() const
Definition audioplayerwidget.cpp:152
void positionChanged(qint64 progress)
Definition audioplayerwidget.cpp:91
QToolButton * m_stopButton
Definition audioplayerwidget.h:45
QString m_audioFilePath
Definition audioplayerwidget.h:41
void updateDurationInfo(qint64 currentInfo)
Definition audioplayerwidget.cpp:104
void stop()
Definition audioplayerwidget.cpp:175
QString getAudioFileName(bool includeExtension=true) const
Definition audioplayerwidget.cpp:163
void setState(QMediaPlayer::PlaybackState state)
Definition audioplayerwidget.cpp:130
void updateRate()
Definition audioplayerwidget.cpp:120
std::unique_ptr< QMediaPlayer > m_mediaPlayer
Definition audioplayerwidget.h:42
QToolButton * m_playButton
Definition audioplayerwidget.h:44
AudioPlayerWidget(const QString &audioFilePath, QWidget *parent=nullptr)
Definition audioplayerwidget.cpp:8
QComboBox * m_rateBox
Definition audioplayerwidget.h:48