📄 sendptzcommand.c
字号:
#include "Utility.h"
/*!
***************************************************************************
* \brief
* send PTZ Command to server
* \param tServerInfo
[in] server info
* \param iCommand
[in] PTZ command
* \param iCamNumber
[in] index of camera to control
* \return
* \retval S_OK send command ok
* \retval -1 index of camera is larger than the server's capability
**************************************************************************/
int SendPTZCommand(TSERVER_INFO tServerInfo, int iCommand, int iCamNumber)
{
HANDLE hSrvUtl;
HANDLE hDevice;
char lpszModelName[64];
PTZCOMMANDS ptzCmd;
SCODE scRet;
TSrvDepResource_ServerInfo srvInfo;
scRet = ServerUtlInit(&hSrvUtl, &hDevice, lpszModelName, tServerInfo);
if (scRet != S_OK)
return scRet;
scRet = SrvDepResource_GetParamForServer(lpszModelName, &srvInfo);
if (scRet != S_OK)
{
ServerUtlRelease(&hSrvUtl, &hDevice);
return scRet;
}
switch (iCommand)
{
case 1:
ptzCmd = SERVERUTL_PTZ_MOVE_LEFT;
break;
case 2:
ptzCmd = SERVERUTL_PTZ_MOVE_RIGHT;
break;
case 3:
ptzCmd = SERVERUTL_PTZ_MOVE_UP;
break;
case 4:
ptzCmd = SERVERUTL_PTZ_MOVE_DOWN;
break;
case 5:
ptzCmd = SERVERUTL_PTZ_MOVE_HOME;
break;
case 6:
ptzCmd = SERVERUTL_PTZ_ZOOM_TELE;
break;
case 7:
ptzCmd = SERVERUTL_PTZ_ZOOM_WIDE;
break;
case 8:
ptzCmd = SERVERUTL_PTZ_FOCUS_NEAR;
break;
case 9:
ptzCmd = SERVERUTL_PTZ_FOCUS_FAR;
break;
case 10:
ptzCmd = SERVERUTL_PTZ_FOCUS_AUTO;
break;
case 11:
ptzCmd = SERVERUTL_AUTO_PAN;
break;
case 12:
ptzCmd = SERVERUTL_AUTO_PATROL;
break;
case 13:
ptzCmd = SERVERUTL_AUTO_STOP;
break;
case 14:
ptzCmd = SERVERUTL_IRIS_OPEN;
break;
case 15:
ptzCmd = SERVERUTL_IRIS_CLOSE;
break;
case 16:
ptzCmd = SERVERUTL_IRIS_AUTO;
break;
}
if (srvInfo.dwCamNum < iCamNumber)
{
ServerUtlRelease(&hSrvUtl, &hDevice);
return -1;
}
scRet = ServerUtl_SendPTZCommand(hDevice, iCamNumber, ptzCmd, NULL, FALSE);
if (scRet != S_OK)
{
ServerUtlRelease(&hSrvUtl, &hDevice);
return scRet;
}
ServerUtlRelease(&hSrvUtl, &hDevice);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -