• 显示视频播放窗口


    // 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_)
     

  • 相关阅读:
    spring源码 - @Condition原理及运用
    ​力扣解法汇总1331-数组序号转换
    面试知识点1(硬件、Linux、虚拟化、网络、openstack、Docker、KVM)
    盒模型(非要让我凑满五个字标题)
    2023/9/26 -- ARM
    22-07-04 西安 尚好房-项目经验总结(01)
    日志门面slf4j与常用的日志框架Log4j,Logback和Log4j2
    开发者友好的Linux常见命令整理
    LintCode 1394 · Goat Latin (字符串处理题)
    IK学习笔记(2)——TwoBones IK
  • 原文地址:https://blog.csdn.net/Y12231819/article/details/128184760