PlayWidget.h 1014 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #pragma once
  2. #include <QComboBox>
  3. #include <QHBoxLayout>
  4. #include <QLabel>
  5. #include <QPushButton>
  6. #include <QSlider>
  7. #include <QVBoxLayout>
  8. #include <QWidget>
  9. class PlayerController;
  10. class AudioEffectGL;
  11. class OpenGLVideoWidget;
  12. class PlayWidget : public QWidget
  13. {
  14. Q_OBJECT
  15. public:
  16. explicit PlayWidget(QWidget* parent = nullptr);
  17. ~PlayWidget();
  18. void startToPlay(const QString& url);
  19. private:
  20. std::unique_ptr<OpenGLVideoWidget> m_videoWidget;
  21. QSlider* m_sliderProgress;
  22. QLabel* m_labelTime;
  23. QPushButton* m_btnPlayPause;
  24. QComboBox* m_comboSpeed;
  25. QSlider* m_sliderVolume;
  26. QLabel* m_labelVolume;
  27. std::unique_ptr<AudioEffectGL> m_audioEffect;
  28. PlayerController* m_playerController = nullptr;
  29. void setupUi();
  30. void setupConnections();
  31. void setPlayerController(PlayerController* controller);
  32. private slots:
  33. void onPlayPauseClicked();
  34. void onProgressChanged(int value);
  35. void onSpeedChanged(int index);
  36. void onVolumeChanged(int value);
  37. };