⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 capturedlg.h

📁 昊天vod点播810版核心程序
💻 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 + -