VideoPlayerAPI.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #ifndef _VIDEOPLAYERAPI_H_
  2. #define _VIDEOPLAYERAPI_H_
  3. #include "IVideoPlayer.h"
  4. #include "VideoPlayer.h"
  5. #include <QString>
  6. #include <qobject.h>
  7. class QWidget;
  8. extern "C" {
  9. /* 创建一个播放器 */
  10. Q_DECL_EXPORT QObject* createPlayer();
  11. /* 销毁一个播放器 */
  12. Q_DECL_EXPORT void destroyPlayer(QObject* player);
  13. /* 打开视频 */
  14. Q_DECL_EXPORT bool OpenVideo(QObject* player, const QString& fileName);
  15. /* 播放视频 */
  16. Q_DECL_EXPORT bool play(QObject* player);
  17. /* 暂停播放 */
  18. Q_DECL_EXPORT void pause(QObject* player);
  19. /* 停止播放 */
  20. Q_DECL_EXPORT void stop(QObject* player);
  21. /* 后退,单位ms */
  22. Q_DECL_EXPORT void backward(QObject* player, qint64 ms);
  23. /* 前进,单位ms */
  24. Q_DECL_EXPORT void forward(QObject* player, qint64 ms);
  25. /* 获取播放状态 */
  26. Q_DECL_EXPORT bool getPlayStatus(QObject* player);
  27. /* 获取视频时长 */
  28. Q_DECL_EXPORT qint64 getDuration(QObject* player);
  29. /* 获取当前播放位置 */
  30. Q_DECL_EXPORT qint64 getCurrentPos(QObject* player);
  31. /* 设置当前播放位置 */
  32. Q_DECL_EXPORT void setCurrentPos(QObject* player, qint64 pos);
  33. /* 设置播放视频窗口的大小 */
  34. Q_DECL_EXPORT void setPlayWidgetSize(QObject* player, int width,int height);
  35. /* 设置播放窗口 */
  36. Q_DECL_EXPORT void setWidgetParent(QObject* player, QWidget* widget, bool isFull);
  37. /* 获取播放窗口的指针 */
  38. Q_DECL_EXPORT QWidget* getPlayWidget(QObject* player);
  39. /* 设置预览图片数目,在暂停时跳转,可能会有花屏或者黑帧,可以设置跳转图片个数跳过黑帧 */
  40. Q_DECL_EXPORT void setPreviewImage(QObject* player, int num = 2);
  41. /* 设置播放速度 */
  42. Q_DECL_EXPORT void setPlaySpeed(QObject* player, float speed);
  43. /* 创建一个IVideoPlayer */
  44. Q_DECL_EXPORT IVideoPlayer* createVideoPlayer();
  45. /* 销毁一个IVideoPlayer */
  46. Q_DECL_EXPORT void destroyVideoPlayer(IVideoPlayer* player);
  47. };
  48. #endif /* _VIDEOPLAYERAPI_H_ */