IVideoPlayer.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #ifndef _IVIDEOPLAYER_H_
  2. #define _IVIDEOPLAYER_H_
  3. #include <QObject>
  4. class IVideoPlayer : public QObject
  5. {
  6. Q_OBJECT
  7. public:
  8. explicit IVideoPlayer() {}
  9. virtual ~IVideoPlayer() {}
  10. /* 打开播放视频 */
  11. virtual bool openPlayVedio(const QString& fileName) = 0;
  12. /* 播放视频 */
  13. virtual bool play() = 0;
  14. /* 暂停播放 */
  15. virtual void pause() = 0;
  16. /* 停止播放 */
  17. virtual void stop() = 0;
  18. /* 后退,单位ms */
  19. virtual void backward(qint64 ms) = 0;
  20. /* 前进,单位ms */
  21. virtual void forward(qint64 ms) = 0;
  22. /* 获取播放状态 */
  23. virtual bool getPlayStatus() = 0;
  24. /* 获取视频时长 */
  25. virtual qint64 getDuration() = 0;
  26. /* 获取当前播放位置 */
  27. virtual qint64 getCurrentPos() = 0;
  28. /* 设置当前播放位置 */
  29. virtual void setCurrentPos(qint64 pos) = 0;
  30. /* 设置播放视频窗口的大小 */
  31. virtual void setPlayWidgetSize(int width,int height) = 0;
  32. /* 设置播放窗口 */
  33. virtual void setWidgetParent(QWidget* widget, bool isFull = false) = 0;
  34. /* 获取播放窗口的指针 */
  35. virtual QWidget* getPlayWidget() const = 0;
  36. /* 设置预览图片数目,在暂停时跳转,可能会有花屏或者黑帧,可以设置跳转图片个数跳过黑帧 */
  37. virtual void setPreviewImage(int num = 2) = 0;
  38. /* 设置播放速度 */
  39. virtual void setPlaySpeed(float speed) = 0;
  40. signals:
  41. void signal_playCompleted(); /* 播放完成信号 */
  42. // void signal_refreshImage(); /* 刷新图片信号 */
  43. };
  44. #endif /* _IVIDEOPLAYER_H_ */