audio_render.h 627 B

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef __AUDIO_RENDER_H__
  2. #define __AUDIO_RENDER_H__
  3. // 这里直接使用 Qt 中的 QLabel 进行音量的渲染
  4. #include <QLabel>
  5. class AudioRender : public QLabel {
  6. public:
  7. AudioRender(QLabel* parent = nullptr);
  8. void setLevel(float volume);
  9. protected:
  10. virtual void paintEvent(QPaintEvent* event) override;
  11. float _lastShowVal = 0;
  12. };
  13. class RenderArea : public QLabel
  14. {
  15. Q_OBJECT
  16. public:
  17. explicit RenderArea(QWidget *parent = nullptr);
  18. void setLevel(qreal value);
  19. protected:
  20. void paintEvent(QPaintEvent *event) override;
  21. private:
  22. qreal m_level = 0;
  23. QPixmap m_pixmap;
  24. };
  25. #endif