123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #ifndef _IVIDEOPLAYER_H_
- #define _IVIDEOPLAYER_H_
- #include <QObject>
- 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_ */
|