PlayWidget.h 952 B

12345678910111213141516171819202122232425262728293031323334353637383940
  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. private:
  18. std::unique_ptr<OpenGLVideoWidget> m_videoWidget;
  19. QSlider* m_sliderProgress;
  20. QLabel* m_labelTime;
  21. QPushButton* m_btnPlayPause;
  22. QComboBox* m_comboSpeed;
  23. QSlider* m_sliderVolume;
  24. QLabel* m_labelVolume;
  25. std::unique_ptr<AudioEffectGL> m_audioEffect;
  26. PlayerController* m_playerController = nullptr;
  27. void setupUi();
  28. void setupConnections();
  29. void setPlayerController(PlayerController* controller);
  30. private slots:
  31. void onPlayPauseClicked();
  32. void onProgressChanged(int value);
  33. void onSpeedChanged(int index);
  34. void onVolumeChanged(int value);
  35. };