Onvif 云台的Continue控制,为什么返回的是500
struct tptz_ContinuousMove stPtzMoveReq;
struct tptz_ContinuousMoveResponse stPtzMoveRes;
memset(&stPtzMoveReq, 0x00, sizeof(stPtzMoveReq));
memset(&stPtzMoveRes, 0x00, sizeof(stPtzMoveRes));
struct tt__PTZSpeed* stVelocity = soap_new_tt__PTZSpeed(stSoapInfo, -1);
switch (nControlType)
{
case 0:
{
struct tt__Vector2D* stPanTilt = soap_new_tt__Vector2D(stSoapInfo, -1);
stPanTilt->x = fPtzPanX;
stPanTilt->y = fPtzPanY;
//stPanTilt->space = "http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace";
**stVelocity->PanTilt = stPanTilt;**
break;
}
case 1:
{
struct tt__Vector1D* stZoom = soap_new_tt__Vector1D(stSoapInfo, -1);
stZoom->x = fPtzPanX;
//stZoom->space = "http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace";
//stVelocity->Zoom = stZoom;
break;
}
default:
nRet = ONVIFSDK_ERROR;
goto EXIT;
break;
}
stPtzMoveReq.Velocity = stVelocity;
stPtzMoveReq.ProfileToken = (OnvifPopTokenInfo(nChannelIndex)->pMainStreamToken);
// long long llTimeOut = 10000;// 单位为毫秒
// stPtzMoveReq.Timeout = &llTimeOut;
nRet = soap_call___tptz__ContinuousMove(stSoapInfo, m_pPtzAddr, nullptr, &stPtzMoveReq, &stPtzMoveRes);
if (nRet != SOAP_OK || stSoapInfo->error != SOAP_OK)
{
nRet = ONVIFSDK_ERROR;
goto EXIT;
}
这样的代码有误吗?
;每当这两个变量
stVelocity->Zoom = stZoom
stVelocity->PanTilt = stPanTilt
赋值时返回的就是soap_call___tptz__ContinuousMove返回只为500