#ifndef _IVIDEOPLAYER_H_ #define _IVIDEOPLAYER_H_ #include class IVideoPlayer : public QObject { Q_OBJECT public: explicit IVideoPlayer() {} virtual ~IVideoPlayer() {} /* 打开播放视频 */ virtual bool openPlayVedio(const QString& fileName) = 0; /* 播放视频 */ virtual bool play() = 0; /* 暂停播放 */ virtual void pause() = 0; /* 停止播放 */ virtual void stop() = 0; /* 后退,单位ms */ virtual void backward(qint64 ms) = 0; /* 前进,单位ms */ virtual void forward(qint64 ms) = 0; /* 获取播放状态 */ virtual bool getPlayStatus() = 0; /* 获取视频时长 */ virtual qint64 getDuration() = 0; /* 获取当前播放位置 */ virtual qint64 getCurrentPos() = 0; /* 设置当前播放位置 */ virtual void setCurrentPos(qint64 pos) = 0; /* 设置播放视频窗口的大小 */ virtual void setPlayWidgetSize(int width,int height) = 0; /* 设置播放窗口 */ virtual void setWidgetParent(QWidget* widget, bool isFull = false) = 0; /* 获取播放窗口的指针 */ virtual QWidget* getPlayWidget() const = 0; /* 设置预览图片数目,在暂停时跳转,可能会有花屏或者黑帧,可以设置跳转图片个数跳过黑帧 */ virtual void setPreviewImage(int num = 2) = 0; /* 设置播放速度 */ virtual void setPlaySpeed(float speed) = 0; signals: void signal_playCompleted(); /* 播放完成信号 */ // void signal_refreshImage(); /* 刷新图片信号 */ }; #endif /* _IVIDEOPLAYER_H_ */