public SmcError.SmcErr StartControlPtz(string cameraNo, PtzCommandType ptzCommand, int param)
{
NLogEx.LoggerEx logEx = new NLogEx.LoggerEx(log);
logEx.Trace("Enter: eLTEVideoMonitor.StartControlPtz.cameraNo:{0},ptzCommand:{1},param:{2}", cameraNo, Enum.GetName(typeof(PtzCommandType), ptzCommand), param);
SmcErr err = new CgwError();
//将ptz命令转换成elte的命令
eLTEPTZControlCode ptzControl = eLTEPTZControlCode.STOP_SEQ;
switch (ptzCommand)
{
case PtzCommandType.PTZ_CMD_DOWN:
ptzControl = eLTEPTZControlCode.TILT_DOWN;
break;
case PtzCommandType.PTZ_CMD_FOCUS_IN:
ptzControl = eLTEPTZControlCode.FOCUS_NEAR;
break;
case PtzCommandType.PTZ_CMD_FOCUS_OUT:
ptzControl = eLTEPTZControlCode.FOCUS_FAR;
break;
case PtzCommandType.PTZ_CMD_IRIS_ENLARGE:
ptzControl = eLTEPTZControlCode.IRIS_OPEN;
break;
case PtzCommandType.PTZ_CMD_IRIS_SHRINK:
ptzControl = eLTEPTZControlCode.IRIS_CLOSE;
break;
case PtzCommandType.PTZ_CMD_LEFT:
ptzControl = eLTEPTZControlCode.PAN_LEFT;
break;
case PtzCommandType.PTZ_CMD_RIGHT:
ptzControl = eLTEPTZControlCode.PAN_RIGHT;
break;
case PtzCommandType.PTZ_CMD_UP:
ptzControl = eLTEPTZControlCode.TILT_UP;
break;
case PtzCommandType.PTZ_CMD_ZOOM_IN:
ptzControl = eLTEPTZControlCode.ZOOM_IN;
break;
case PtzCommandType.PTZ_CMD_ZOOM_OUT:
ptzControl = eLTEPTZControlCode.ZOOM_OUT;
break;
}
ELTE_RESULT result = (ELTE_RESULT)lteSdkClient.PTZControl(Convert.ToInt32(cameraNo), (uint)ptzControl, (uint)(param * iPTZScale));//eLTE云台速度慢,放大20倍
if (result != ELTE_RESULT.RET_SUCCESS)
{
err.SetErrorNo(CgwError.START_CONTROL_PTZ_FAILED);
logEx.Error("StartControlPtz failed.eLTE sdk error code:{0}", result);
return err;
}
else
{
logEx.Debug("StartControlPtz Success");
}
return err;
}