利用rtp库实现实时语音传送
源代码在线查看: clientdlg.h
// ClientDlg.h : header file
//
#if !defined(AFX_CLIENTDLG_H__95BFB161_836D_45B4_A3EE_AE14693827B7__INCLUDED_)
#define AFX_CLIENTDLG_H__95BFB161_836D_45B4_A3EE_AE14693827B7__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "AsyncFilter.h"
/////////////////////////////////////////////////////////////////////////////
// CClientDlg dialog
class CClientDlg : public CDialog
{
// Construction
public:
CClientDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CClientDlg)
enum { IDD = IDD_CLIENT_DIALOG };
CSliderCtrl mSliderGraph;
CStatic m_View;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CClientDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
HRESULT BuildGraph();
void ResizeVideoWindow(void);
void RemoveGraphFromRot(DWORD pdwRegister);
HRESULT AddGraphToRot(IUnknown *pUnkGraph, DWORD *pdwRegister);
void ReleaseMediaInterfaces();
IPin *GetPin(IBaseFilter *pFilter,PIN_DIRECTION PinDir);
public:
enum CurrentStatus
{
statusEmpty = 0,
statusStopped = 1,
statusRunning = 2,
statusPaused = 3
};
CurrentStatus m_currentStatus;
// COM interfaces to DirectShow
//ICaptureGraphBuilder2 * m_pCaptureBuilder;
IGraphBuilder *m_pGraphBuilder;
IMediaControl *m_pMediaControl;
IMediaEventEx *m_pMediaEventEx;
IMediaSeeking *m_pMediaSeeking;
IVideoWindow *m_pVideoWindow;
IBasicVideo *m_pBasicVideo;
IBasicAudio *m_pBasicAudio;
CAsyncFilter *m_pAsyncFilter;
DWORD m_dwGraphRegister;
LONGLONG mSliderTimer;
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CClientDlg)
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnBUTPlay();
afx_msg void OnButSetRate();
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_CLIENTDLG_H__95BFB161_836D_45B4_A3EE_AE14693827B7__INCLUDED_)