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

📄 m7libt.h

📁 用vc编写的视频采集端口编成
💻 H
字号:
/********************************************************************/
/* Note:															*/
/* 	Call <M7_LoadLib> to load 'M7Lib.Dll' at the application		*/
/* 	initializing stage and call <M7_FreeLin> on exit. 				*/
/********************************************************************/

#ifndef M7LIBT_H
#define M7LIBT_H

#include <windows.h>

const WM_M7 = WM_USER + 700;

//---------- Data Structs: ----------------
struct M7_SITEREPORT{
		ULONG RomVersion;
		BYTE reserved1;
		BYTE UserIndex;
		BYTE BootCheck;
		BYTE AlarmReport;
};
	

	
struct M7_ENCPARA{
		BYTE ImgType;
		BYTE Quality;
		BYTE Speed;
		
		BYTE Blk_X;
		BYTE Blk_Y;
		BYTE Blk_W;
		BYTE Blk_H;
		
		BYTE Channel;
		BYTE Brightness;
		BYTE Contrast;
		BYTE Saturation;
};
	
	
struct M7_UID{
		CHAR SuperUser[8];
		CHAR NormalUser1[8];
		CHAR NormalUser2[8];
		CHAR NormalUser3[8];
};
	
	
struct M7_ALARMDIAL{
		CHAR DialString1[32];
		CHAR DialString2[32];	
};
	
	
struct M7_ALARMCFG{
		BYTE Control;
		BYTE DialRetryTimes;
		BYTE DialRetryInterval;
		BYTE CaptureDelay;
		BYTE CaptureInterval;
		BYTE ChannelEnabled;
		BYTE ChannelPolarity;
		BYTE AlarmPwrOnDelay;
		BYTE AlarmXOTout;
		BYTE Brightness;
		BYTE Contrast;
		BYTE Saturation;
		BYTE Reserved[4];
};
	
	
struct M7_RECFRAMEINFO{
		ULONG FilePos;
		ULONG CodeLength;
		
		ULONG IFrameFlag;
		ULONG SystemTicks;

		ULONG Year;
		BYTE Month;
		BYTE Day;
		BYTE Hour;
		BYTE Minute;
		BYTE Second;
		
		BYTE ImgType;
		BYTE Channel;
		BYTE ImgClrBits;
		ULONG ImgX;
		ULONG ImgY;
		ULONG ImgW;
		ULONG ImgH;
		
		LONG ErrorFlag;
};
	


extern "C"
{
	void M7_InitApi(void);
	
	long M7_GetApiVersion(void);
	void M7_DisplayImage( HWND hDisplayWindow, 
						  LONG X, LONG Y, LONG ImgW, LONG ImgH, LONG ImgClrBits,
						  void *lpImgBuffer);
	void M7_DisplayImageZoom( HWND hDisplayWindow, 
							  LONG X, LONG Y, LONG DispW, LONG DispH, LONG ImgW, LONG ImgH, LONG ImgClrBits,
							  void *lpImgBuffer);
	void M7_SaveImgToBmpFile( CHAR *lpBmpFileName, void *lpImgBuffer,LONG ImgW, LONG ImgH, LONG ImgClrBits);
	long M7_CheckVideoCodeFrame( void *lpCodeBuffer, 
	  							 LONG *ImgX, LONG *ImgY, LONG *ImgW, 
	  							 LONG *ImgH, LONG *ImgClrBits, LONG * ImgCh);
	long M7_VideoDecode( void *lpCodeBuffer, void *lpImgBuffer,	
	  					 LONG *ImgX, LONG *ImgY, LONG *ImgW, 	 		
	  					 LONG *ImgH, LONG *ImgClrBits, LONG *ImgCh);
	  					 
	long M7_GetPlayImage(char *RecFileName, struct M7_RECFRAMEINFO *lpFrameInfo, void *lpImgBuffer);
	long M7_SearchPlayImage(char *RecFileName, struct M7_RECFRAMEINFO *lpFrameInfo);
	
	void M7_InitAudioCodec(void);						
	void M7_AudioEncode(short *SndBuf, UCHAR *CodBuf);	
	void M7_AudioDecode(UCHAR *CodBuf, short *SndBuf); 
	
	long M7_CreateReceiver(void);
	long M7_CloseReceiver(LONG M7Handle);

	long M7_OpenComPort(LONG M7Handle, LONG ComPortIdx, LONG DTEBaudRate);
	long M7_SetComHandle(LONG M7Handle, HANDLE ComHnd);
	long M7_ReadComPort(LONG M7Handle, UCHAR *lpRecvBuffer);
	long M7_WriteComPort(LONG M7Handle, UCHAR *lpTxBuffer, ULONG Length);
	void M7_SetComDevType(LONG M7Handle, LONG ComDevType);
	long M7_CheckComLinkState(LONG M7Handle);
	//
	void M7_Nop(LONG M7Handle);
	long M7_Connect(LONG M7Handle, CHAR *lpPassword, struct M7_SITEREPORT *lpSiteReport);
	void M7_Disconnect(LONG M7Handle);
	//
	void M7_ENCStart(LONG M7Handle);
	void M7_ENCStop(LONG M7Handle);
	void M7_ENCSetup(LONG M7Handle, struct M7_ENCPARA *lpEncoderParam);
	//
	long M7_ReadUserID(LONG M7Handle, struct M7_UID *lpUserPINCode);
	long M7_SetUserID(LONG M7Handle, struct M7_UID *lpUserPINCode);
	long M7_GetSiteName(LONG M7Handle, CHAR *lpSiteName);
	long M7_SetSiteName(LONG M7Handle, CHAR *lpSiteName);
	long M7_GetModemExtInit(LONG M7Handle, CHAR *lpCmdStr);
	long M7_SetModemExtInit(LONG M7Handle, CHAR *lpCmdStr);
	long M7_ReadAlarmDial(LONG M7Handle, struct M7_ALARMDIAL *lpAlarmDialString);
	long M7_SetAlarmDial(LONG M7Handle, struct M7_ALARMDIAL *lpAlarmDialString);
	long M7_ReadAlarmCfg(LONG M7Handle, struct M7_ALARMCFG *lpAlarmConfig);
	long M7_SetAlarmCfg(LONG M7Handle, struct M7_ALARMCFG *lpAlarmConfig);
	//
	long M7_ReadIO(LONG M7Handle);
	long M7_WriteIO(LONG M7Handle, LONG PortIdx, LONG PortValue);
	long M7_WriteIOA(LONG M7Handle, LONG PortValue);
	//
	long M7_ReadXI2C(LONG M7Handle, LONG I2CAddr);
	long M7_WriteXI2C(LONG M7Handle, LONG I2CAddr, LONG OutValue);
	//
	void M7_SetPFLimit(LONG M7Handle, ULONG PFLimit);
	void M7_SetMsgHandle(LONG M7Handle, HWND hMsgReceiver);
	void M7_SetMsgCallBack(LONG M7Handle, void *lpMsgCallBackProc);
	//          
	void M7_GetImage(LONG M7Handle, LONG *ImgX, LONG *ImgY, LONG *ImgW,LONG *ImgH, LONG *ImgClrBits, LONG *ImgCh, void *lpImgBuffer);
	long M7_GetVideoCodeFrame(LONG M7Handle, void *lpCodeBuffer);
	//        		   
	void M7_SetRecordFile(LONG M7Handle, CHAR *lpFileName);
	void M7_SetRecordFileHeader(LONG M7Handle, CHAR *lpFileHeader);
	void M7_StartRecordToFile(LONG M7Handle);
	void M7_StopRecordToFile(LONG M7Handle);
	//
	long M7_OpenAuxCom(LONG M7Handle, LONG BaudIdx);
	long M7_CloseAuxCom(LONG M7Handle);
	long M7_WriteAuxCom(LONG M7Handle, LONG DLen, void *lpDatBuf);
	long M7_ReadAuxCom(LONG M7Handle, void *lpDatBuf);
	//
	long M7_OpenAuxCom1(LONG M7Handle, LONG BaudIdx);
	long M7_CloseAuxCom1(LONG M7Handle);
	long M7_WriteAuxCom1(LONG M7Handle, LONG DLen, void *lpDatBuf);
	long M7_ReadAuxCom1(LONG M7Handle, void *lpDatBuf);
	//
	long M7_OpenAuxCom2(LONG M7Handle, LONG BaudIdx);
	long M7_CloseAuxCom2(LONG M7Handle);
	long M7_WriteAuxCom2(LONG M7Handle, LONG DLen, void *lpDatBuf);
	long M7_ReadAuxCom2(LONG M7Handle, void *lpDatBuf);
	//
	void M7_AENCSetup(LONG M7Handle, UCHAR *DatBuf);
	void M7_AENCStart(LONG M7Handle);
 	void M7_AENCStop(LONG M7Handle);
	void M7_ADECSetup(LONG M7Handle, UCHAR *DatBuf);
	void M7_ADECStart(LONG M7Handle);
 	void M7_ADECStop(LONG M7Handle);
	void M7_SendAudioCodeFrame(LONG M7Handle, UCHAR *CodBuf);
	void M7_GetAudioCodeFrame(LONG M7Handle, UCHAR *CodBuf);
	//
	long M7_AudioMonitorOn(HWND hWnd, LONG M7Handle);
	long M7_AudioMonitorOff(LONG M7Handle);
	long M7_AudioMonitorSetup(LONG Channel, LONG Gain, LONG M7Handle);
	//
	long M7_AudioCaptureOn(HWND hWnd, LONG M7Handle);
	long M7_AudioCaptureOff(LONG M7Handle);
	long M7_AudioCaptureSetup(LONG Gain, LONG M7Handle);

}

#endif

⌨️ 快捷键说明

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