📄 capturedlg.h
字号:
// CaptureDlg.h : header file
//
#if !defined(AFX_CAPTUREDLG_H__1A43FE83_A17B_4F46_843A_8EBE1F0314AA__INCLUDED_)
#define AFX_CAPTUREDLG_H__1A43FE83_A17B_4F46_843A_8EBE1F0314AA__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <streams.h>
#include <atlbase.h>
#include "initguid.h"
#define WM_GRAPHNOTIFY (WM_USER+20)
/////////////////////////////////////////////////////////////////////////////
// CCaptureDlg dialog
class CCaptureDlg : public CDialog
{
// Construction
public:
//接口枚举器
HRESULT GetPin(IBaseFilter *pFilter, PIN_DIRECTION PinDir, IPin **ppPin);
HRESULT FindAudioDevices();//未用
///////////////////////////////////////////////////////////////////////////
//声道
HRESULT FindMPEGProps();//获得HtAudio Filter地址->指针
HRESULT FindAudioModes();
HRESULT FindHtAudioFilterInOutPIN();//获得HtAudio Filter接口
//播放检测
HRESULT On_Load();
HRESULT AutoPlayerFilts();// 随机获取播放文件名
HRESULT FoundPlayerFilts();//查找播放文件名
//连接WAV Filter->HtAudio Filter->声卡Filter
HRESULT ConnectFilter(IGraphBuilder *pGraph, IBaseFilter *pFirst, IBaseFilter *pSecond);
//声卡
HRESULT FindAudioFilterInPIN();//查找声卡PIN
//解码器
HRESULT FindWMAFilter();//查找解码器
HRESULT FindAVIFilter();
HRESULT FindDATFilter();
HRESULT FindRMVBFilter();
HRESULT FindWMAFilterInOutPIN();//查找解码器PIN
HRESULT FindVOBFilter();
HRESULT AddFilters(); //添加Filter
HRESULT FindFilterPIN();//查找接口主控流程
HRESULT Disconnects(); //断开WAV Filter 与声卡Filter 的连接
//图表保存
//HRESULT SaveGraphFile(IGraphBuilder *m_FilterGraph, WCHAR *wszPath);
//播放
HRESULT SetupVideoWindow(HWND inWindow);
bool SetNotifyWindow(HWND inWindow);
HRESULT FindCaptureDevice(IBaseFilter ** ppSrcFilter);
bool ResizeVideoWindow(long inLeft, long inTop, long inWidth, long inHeight);
HRESULT htPlayerFile();//申请播放文件
HRESULT GetCurrentPosition(double * outPosition);
//HRESULT SeekingPlayer();//循环播放
//--------------------------------------------
IVideoWindow * m_VideoWindow;
IMediaControl * m_MediaControl;
IBasicVideo * m_BasicVideo;
IBasicAudio * m_BasicAudio;
IMediaEventEx * m_MediaEventEx;
IGraphBuilder * m_FilterGraph;
IMediaSeeking * m_MediaSeeking;
ICaptureGraphBuilder * m_pCapture;
//PLAYSTATE g_psCurrent = Stopped;
HRESULT GetInterfaces();
HRESULT CaptureVideo();
HRESULT CaptureAudio();
CCaptureDlg(CWnd* pParent = NULL); // standard constructor
HRESULT AllRelease();
HRESULT DiskFree();//磁盘工作状态
void Search_Directory(char* szFilename);
void WlpGlobal();
void RlpGlobal();
// Dialog Data
//{{AFX_DATA(CCaptureDlg)
enum { IDD = IDD_CAPTURE_DIALOG };
//CStatic m_VideoWindow;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCaptureDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CCaptureDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
virtual void OnOK();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnHtAudioR();
virtual void OnCancel();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_CAPTUREDLG_H__1A43FE83_A17B_4F46_843A_8EBE1F0314AA__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -