• 显示视频播放窗口


    // VideoPlay.h: interface for the CVideoPlay class.
    //
    //

    #if !defined(AFX_VIDEOPLAY_H__761FDC3A_3404_11D4_883E_0000210A0111__INCLUDED_)
    #define AFX_VIDEOPLAY_H__761FDC3A_3404_11D4_883E_0000210A0111__INCLUDED_

    #if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000

    #include             //要访问DirectShow的接口必须包含该头文件
    #include
    #define HELPER_RELEASE(x)  if (x) {x->Release(); x = NULL; }
    #define CHECK_ERROR(x, idFailMsg) if (FAILED(hr = (x))) { if (idFailMsg) MessageBox(m_hwnd,idFailMsg,"Error",MB_OK); return;}

    #define WM_PLAYOVER WM_USER+300        

    class CVideoPlay  
    {
    public:
        CVideoPlay();
        CVideoPlay(HWND hwnd);
        virtual ~CVideoPlay();

        void FindDevice(CStringList &DevName);  //搜索视频设备
        void RealPlay();                        //实时图像的播放
        void PlayFromFile(CString szFile);      //视频文件的播放
        void PausePlay();                       //暂停播放
        void ResumePlay();                        //继续播放
        void StopPlay();                        //停止播放
        void DisplayVideoWin();                      //显示视频播放窗口
        int PlayOver();                            

        HWND m_hwnd;                            //视频播放窗口的父窗口句柄
        REFTIME tCurrent;                        //视频文件的当前位置时间
        REFTIME tLength;                        //视频文件的总时间长度
        REFTIME tRemain;                        //视频文件的剩余时间
        IGraphBuilder *pigb;                    //视频文件过滤器图表生成器接口指针
        ICaptureGraphBuilder *CapPigb;            //捕捉过滤器图表生成器接口指针
        IGraphBuilder *CappFg;                    //实时图像过滤器图表生成器接口指针
        IMediaControl *pimc;                    //数据流的控制接口指针
        IMediaEventEx *pimex;                    //过滤器图表的事件接口指针
        IVideoWindow *pivw;                        //视频播放窗口接口指针
        IAMDroppedFrames *pDF;                    //捕捉过滤器性能查询接口指针
        IMediaPosition * pmp;                    //数据流的位置查询接口指针
        IBaseFilter *pVCap;                        //过滤器接口指针


    };

    #endif // !defined(AFX_VIDEOPLAY_H__761FDC3A_3404_11D4_883E_0000210A0111__INCLUDED_)
     

  • 相关阅读:
    MySQL事务详解(事务隔离级别、实现、MVCC、幻读)
    15:00面试,15:08就出来了,问的问题有点变态。。。
    【虚幻引擎】UE4/UE5 后期处理盒子(PostProcessVolume)
    【Spark】PySpark DataFrame
    问道管理:沪指跌0.43%坚守3100点,地产、石油等板块走弱
    MES管理系统功能模块之质量管理
    RK3568 USB驱动开发
    结构型模式-外观(Facade)模式
    用rust 写一个jar包 class冲突检测工具
    CREO:CREO软件之工程图【布局】之一般视图、投影视图、详细视图、局部剖视图、向视图、局部放大视图、旋转剖视图的简介及其使用方法(图文教程)之详细攻略
  • 原文地址:https://blog.csdn.net/Y12231819/article/details/128184760