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

📄 serverdlg.h

📁 采用DirecShow通过网络传输实现远程视频动态播放,
💻 H
字号:
// ServerDlg.h : header file
//

#if !defined(AFX_SERVERDLG_H__4A6B8867_1D5C_4796_82EA_C70859EE8E66__INCLUDED_)
#define AFX_SERVERDLG_H__4A6B8867_1D5C_4796_82EA_C70859EE8E66__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
static long mPin;
/////////////////////////////////////////////////////////////////////////////
// CServerDlg dialog
#include <afxtempl.h>
#include "CMediaInfo.h"
#include "CMsgReceiver.h"
#include "CServerSocket.h"
#include "CFilterNetSender.h"
class CServerDlg : public CDialog,public CMsgReceiver
{
// Construction
public:
	void SendProgress(int pos);
	void SetCurrentPosition(double inPosition );
	void GetCurrentPosition(double * outPosition);
	void GetDuration(double * outDuration);
	void SendSimpleCommand(long inCommand);
	BOOL CreateMPEGFilters();
	BOOL CreateOGGFilters();
	BOOL CreateREALFilters();
	BOOL CreateAVIFilters();
	void Deactivate();
	
	BOOL SetDisplayWindow(HWND inWindow);
	BOOL AfterBuildGraph();
	BOOL CreateGraph();
	BOOL Activate();
	CServerDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CServerDlg)
	enum { IDD = IDD_SERVER_DIALOG };
	CSliderCtrl	mProgress;
	CStatic	mVideoWnd;
	CListCtrl	mProgramListCtrl;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CServerDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	HICON m_hIcon;
	UINT  mSliderTimer;
	enum {PLAY, PAUSE, STOP} mState;
	CList<CMediaInfo,CMediaInfo&> mPrgrmList;
	void ProcessCommand(void * inCommand);
	void SendProgramList(void);
	virtual bool ReceiveMessage(MessageT inMessage, void * ioParam, void * ioParam2);
	CMediaInfo mPlayingMedia;
	CServerSocket mControll;
	CServerSocket mVideo;
	CServerSocket mAudio;
	IGraphBuilder *     mGraph;
	IMediaControl *		mMediaControl;
	IMediaSeeking *	    mSeeking;
	IBaseFilter *		mFile;
	IBaseFilter *		mSplitter;
	IBaseFilter *		mInfinitePin;
	IBaseFilter *       mTempInfinitePin;
	IBaseFilter *		mAudioInfinitePin;
    IBaseFilter *		mVideoDecom;
	IBaseFilter *		mAudioDecom;
	IBaseFilter *		mVideoRenderer;
	IBaseFilter *		mAudioRenderer;
	CFilterNetSender *		mVideoSender;
	CFilterNetSender *		mAudioSender;
	// Generated message map functions
	//{{AFX_MSG(CServerDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnBtnAdd();
	afx_msg void OnBtnDelete();
	afx_msg LRESULT OnModifyFilterGraph(WPARAM inWParam, LPARAM inLParam);
	afx_msg void OnDestroy();
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_SERVERDLG_H__4A6B8867_1D5C_4796_82EA_C70859EE8E66__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -