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

📄 myendpoint.h

📁 VIS H.323 Library V2.1 Release
💻 H
字号:
/*
  VIS H.323 Video Conference System
      --Sample for VIS H.323 DLL Library 2.1 Release

  For more information,visit our homepage 
  
    [http://www.115studio.com]

  or mail to us for tech support and bug report

    [support@115studio.com]

  2000-2004 115Studio
  
  2004-04-05
*/
#ifndef _MYENDPOINT_H_
#define _MYENDPOINT_H_

#include "..\lib\h323exp.h"
#include "..\lib\ILSexp.h"
class CVISConfDlg;
class CMyEndPoint;
///////////
class CMyVideoGrabber:public CVideoGrabber
{
public:
	CMyVideoGrabber(){m_pep=NULL;}

	virtual void OnStream(BYTE *frame,int width,int height);

	CMyEndPoint *m_pep;
};
/////////////
class CMyEndPoint : public CH323EndPoint  
{
public:
	
	CMyEndPoint(CVISConfDlg &dlg);
	virtual ~CMyEndPoint();

	BOOL StartRemoteAudio();
	BOOL StopRemoteAudio();
	
	BOOL StartLocalAudio();
	BOOL StopLocalAudio();	
	
	BOOL StartRemoteVideo();
	BOOL StopRemoteVideo();
	
	BOOL StartLocalVideo();
	BOOL StopLocalVideo();

	static DWORD WINAPI RemoteVideoThreadProc(LPVOID param);
	static DWORD WINAPI RemoteAudioThreadProc(LPVOID param);
	static DWORD WINAPI LocalAudioThreadProc(LPVOID param);
	//
	virtual void OnAnswerCall(DWORD connID,const char *RoomID);
	virtual void OnWaitForAnswer(DWORD connID);
	virtual void OnConnectionCleared(DWORD connID, DWORD duration,enum CallEndReason reason);
	virtual void OnConnectionEstablished(DWORD connID);
	virtual BOOL OnRenderAudioFrame(DWORD connID,BYTE* frame,int len);
	virtual BOOL OnReadAudioFrame(DWORD connID,BYTE* frame,int len);
	
	virtual BOOL OnAudioStop(DWORD connID, BOOL outgoing,const char *CodecName);
	virtual BOOL OnAudioStart(DWORD connID,BOOL outgoing,const char *CodecName);

	virtual BOOL OnRenderVideoFrame(DWORD connID,BYTE *frame, int width, int height);
	virtual BOOL OnReadVideoFrame(DWORD connID,BYTE* frame,int width,int height);
	
	virtual BOOL OnVideoStop(DWORD connID,BOOL outgoing,const char *CodecName);
	virtual BOOL OnVideoStart(DWORD connID,BOOL outgoing,const char* CodecName);

	virtual void OnReceiveUserInput(DWORD connID,const char* value);

	virtual void OnUseGatekeeper(enum UseGKResult result,const char* name_GK);

	CAudioMixer m_AudioMixer;
	CVideoMixer m_VideoMixer;

	CVISConfDlg &m_dlg;

	CMyVideoGrabber m_VideoGrabber;
	CAudioPlayer m_AudioPlayer;
	CAudioRecorder m_AudioRecorder;

	HANDLE m_hRemoteVideoThread;
	BOOL m_bStopRemoteVideoThread;
	HANDLE m_hRemoteAudioThread;
	BOOL m_bStopRemoteAudioThread;
	HANDLE m_hLocalAudioThread;
	BOOL m_bStopLocalAudioThread;


};

class CILSClientWnd;
///////////////////
class CMyILSClient:public CILSClient
{
public:
	
	CMyILSClient(CILSClientWnd &IlsWnd);
	virtual ~CMyILSClient();
	
	virtual void OnEnumUsers(DWORD id, DWORD result, USER_INFO &ui);
	virtual void OnUpdate(DWORD id, DWORD result);
	virtual void OnUnregister(DWORD id, DWORD result);
	virtual void OnRegister(DWORD id, DWORD result);
	virtual void OnGetUserInfo(DWORD id, DWORD result, USER_INFO &ui);
	virtual void OnEnumUserNames(DWORD id, DWORD result, const char *name);
	virtual void OnUserStateChanged(DWORD state, const char *server);
	
	CILSClientWnd& m_IlsWnd;

};

#endif 

⌨️ 快捷键说明

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