📄 hikvisionsdk.~pas
字号:
unit HikVisionSDK;
interface
uses
Windows;
const
SERIALNO_LEN = 48;
SET_PRESET = 8 ; // 设置预置点
CLE_PRESET = 9 ; // 清除预置点
GOTO_PRESET = 39 ; // 转到预置点
LIGHT_PWRON = 2 ; // 接通灯光电源 */
WIPER_PWRON = 3 ; // 接通雨刷开关 */
FAN_PWRON = 4 ; // 接通风扇开关 */
HEATER_PWRON = 5 ; // 接通加热器开关 */
AUX_PWRON = 6 ; // 接通辅助设备开关 */
ZOOM_IN = 11 ; // 焦距以速度SS变大(倍率变大) */
ZOOM_OUT = 12 ; // 焦距以速度SS变小(倍率变小) */
FOCUS_NEAR = 13 ; // 焦点以速度SS前调 */
FOCUS_FAR = 14 ; // 焦点以速度SS后调 */
IRIS_OPEN = 15 ; // 光圈以速度SS扩大 */
IRIS_CLOSE = 16 ; // 光圈以速度SS缩小 */
TILT_UP = 21 ; // 云台以SS的速度上仰 */
TILT_DOWN = 22 ; // 云台以SS的速度下俯 */
PAN_LEFT = 23 ; // 云台以SS的速度左转 */
PAN_RIGHT = 24 ; // 云台以SS的速度右转 */
PAN_AUTO = 29 ; // 云台以SS的速度左右自动扫描 */
//查找文件和日志函数返回值
NET_DVR_FILE_SUCCESS = 1000; //获得文件信息
NET_DVR_FILE_NOFIND = 1001; //没有文件
NET_DVR_ISFINDING = 1002; //正在查找文件
NET_DVR_NOMOREFILE = 1003; //查找文件时没有更多的文件
NET_DVR_FILE_EXCEPTION = 1004; //查找文件时异常
NET_DVR_PLAYSTART =1;//开始播放
NET_DVR_PLAYSTOP =2;//停止播放
NET_DVR_PLAYPAUSE =3;//暂停播放
NET_DVR_PLAYRESTART =4;//恢复播放
NET_DVR_PLAYFAST =5;//快放
NET_DVR_PLAYSLOW =6;//慢放
NET_DVR_PLAYNORMAL =7;//正常速度
NET_DVR_PLAYFRAME =8;//单帧放
NET_DVR_PLAYSTARTAUDIO =9;//打开声音
NET_DVR_PLAYSTOPAUDIO =10;//关闭声音
NET_DVR_PLAYAUDIOVOLUME =11;//调节音量
NET_DVR_PLAYSETPOS =12;//改变文件回放的进度
NET_DVR_PLAYGETPOS =13;//获取文件回放的进度
NET_DVR_PLAYGETTIME =14;//获取当前已经播放的时间
NET_DVR_PLAYGETFRAME =15;//获取当前已经播放的帧数
NET_DVR_GETTOTALFRAMES =16;//获取当前播放文件总的帧数
NET_DVR_GETTOTALTIME =17;//获取当前播放文件总的时间
NET_DVR_THROWBFRAME =20;//丢B帧
type
LPNET_DVR_DEVICEINFO = ^NET_DVR_DEVICEINFO;
NET_DVR_DEVICEINFO = packed record
sSerialNumber: array [0..SERIALNO_LEN] of BYTE; //序列号
byAlarmInPortNum :BYTE; //DVR报警输入个数
byAlarmOutPortNum:BYTE; //DVR报警输出个数
byDiskNum :BYTE; //DVR 硬盘个数
byDVRType :BYTE; //DVR类型,
byChanNum :BYTE; //DVR 通道个数
byStartChan :BYTE; //起始通道号,例如DVS-1,DVR - 1
end;
LPNET_DVR_CLIENTINFO = ^NET_DVR_CLIENTINFO;
NET_DVR_CLIENTINFO = packed record
lChannel :Longint;//通道号
lLinkMode:Longint;//连接方式: 0:TCP方式,1:UDP方式,2:多播方式,3 - RTP方式,4-音视频分开(TCP)
hPlayWnd :HWND;//播放窗口的句柄,为NULL表示不播放图象
sMultiCastIP:PChar;//多播组地址
end;
LPNET_DVR_TIME = ^NET_DVR_TIME;
NET_DVR_TIME = packed record
dwYear :DWORD; //年
dwMonth :DWORD; //月
dwDay :DWORD; //日
dwHour :DWORD; //时
dwMinute:DWORD; //分
dwSecond:DWORD; //秒
end;
LPNET_DVR_FIND_DATA =^NET_DVR_FIND_DATA;
NET_DVR_FIND_DATA = packed record
sFileName: array [0..99] of char;//文件名
struStartTime : NET_DVR_TIME;//文件的开始时间
struStopTime : NET_DVR_TIME;//文件的结束时间
dwFileSize : DWORD;//文件的大小
end;
function NET_DVR_Init:Boolean;stdcall; external 'HCNetSDK.dll' name 'NET_DVR_Init';
function NET_DVR_Cleanup:Boolean;stdcall; external 'HCNetSDK.dll' name 'NET_DVR_Cleanup';
function NET_DVR_Login(sDVRIP :pchar;wDVRPort :WORD;sUserName :pchar;sPassword :pchar;lpDeviceInfo :LPNET_DVR_DEVICEINFO):longint;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_Login';
function NET_DVR_Logout(lUserID :longint):boolean;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_Logout';
function NET_DVR_RealPlay(lUserID :longint;lpClientInfo :LPNET_DVR_CLIENTINFO):longint;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_RealPlay';
function NET_DVR_StopRealPlay(lRealHandle :longint):boolean;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_StopRealPlay';
//云台控制
function NET_DVR_PTZControl(lRealHandle: Longint; dwPTZCommand: LongWord; dwStop: LongWord):boolean;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_PTZControl';
function NET_DVR_PTZControl_Other(lUserID: LongInt; lChannel: LongInt; dwPTZCommand: LongWord; dwStop: LongWord):boolean;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_PTZControl_Other';
function NET_DVR_TransPTZ(lRealHandle: LongInt; pPTZCodeBuf: PChar; dwBufSize: LongWord):boolean;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_TransPTZ';
function NET_DVR_TransPTZ_Other(lUserID: LongInt; lChannel: LongInt; pPTZCodeBuf: PChar; dwBufSize: LongWord):boolean;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_TransPTZ_Other';
function NET_DVR_PTZPreset(lRealHandle: LongInt; dwPTZPresetCmd: LongWord; dwPresetIndex: LongWord): boolean;stdcall; external 'HCNetSDK.dll' name 'NET_DVR_PTZPreset';
function NET_DVR_PTZPreset_Other(lUserID: LongInt; lChannel: LongInt; dwPTZPresetCmd: LongWord; dwPresetIndex: LongWord):boolean;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_PTZPreset_Other';
function NET_DVR_FindFile(lUserID:LongInt;lChannel:LongInt;dwFileType:DWORD;lpStartTime:LPNET_DVR_TIME;lpStopTime:LPNET_DVR_TIME ):longint;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_FindFile';
function NET_DVR_FindNextFile(lFindHandle:LongInt ;lpFindData:LPNET_DVR_FIND_DATA ):longint;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_FindNextFile';
function NET_DVR_FindClose(lFindHandle:LongInt ):Boolean ;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_FindClose';
function NET_DVR_PlayBackByName(lUserID :longint;sPlayBackFileName :pchar;hWnd :HWND):longint;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_PlayBackByName';
function NET_DVR_PlayBackByTime(lUserID :longint;lChannel :longint;lpStartTime :LPNET_DVR_TIME;lpStopTime :LPNET_DVR_TIME;hWnd :HWND):longint;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_PlayBackByTime';
function NET_DVR_StopPlayBack(lPlayHandle :longint):boolean;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_StopPlayBack';
function NET_DVR_PlayBackControl(lPlayHandle :longint;dwControlCode :DWORD;dwInValue :DWORD;lpOutValue :PDWORD):boolean;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_PlayBackControl';
function NET_DVR_PlayBackSaveData(lPlayHandle :longint;sFileName :pchar):boolean;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_PlayBackSaveData';
function NET_DVR_StopPlayBackSave(lPlayHandle :longint):boolean;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_StopPlayBackSave';
function NET_DVR_PlayBackCaptureFile(lPlayHandle :longint;sFileName :pchar):boolean;stdcall; external 'HCNetSDK.dll' name 'NET_DVR_StopPlayBackSave';
function NET_DVR_GetFileByName(lUserID :longint ;sDVRFileName : pchar;sSavedFileName : pchar):longint;stdcall; external 'HCNetSDK.dll' name 'NET_DVR_StopPlayBackSave';
function NET_DVR_GetFileByTime(lUserID :longint ;lChannel :longint; lpStartTime :LPNET_DVR_TIME;lpStopTime : LPNET_DVR_TIME ; sSavedFileName :pchar):longint;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_StopPlayBackSave';
function NET_DVR_StopGetFile(lFileHandle :longint):boolean;stdcall;external 'HCNetSDK.dll' name 'NET_DVR_StopGetFile';
function NET_DVR_GetDownloadPos(lFileHandle :longint):integer;stdcall; external 'HCNetSDK.dll' name 'NET_DVR_GetDownloadPos';
var
m_port:Integer;
implementation
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -