2014-01-22 82 views
-1
public void setPreset(string name,int PanSpeed,int TiltSpeed,int ZoomSpeed) 
    { 

     if (ptzClient == null) 
      setPTZClient(); 
     PTZVector pv = new PTZVector(); 
     pv.panTilt = new Vector2D(); 
     pv.zoom = new Vector1D(); 

     pv.panTilt.x = (float)10; 
     pv.panTilt.y = (float)10; 
     pv.zoom.x = (float)10; 

     PTZPreset ps = new PTZPreset(); 
     ps.token = "20"; 
     ps.name = name; 
     ps.ptzPosition = pv; 

     PTZSpeed pzs = new PTZSpeed(); 
     pzs.panTilt = new Vector2D(); 
     pzs.zoom = new Vector1D(); 
     pzs.panTilt.x = (float)TiltSpeed; 
     pzs.panTilt.y = (float)PanSpeed; 
     pzs.zoom.x = (float)ZoomSpeed; 

     var setpresetres = new SetPresetResponse(); 
     setpresetres = ptzClient.SetPreset(new SetPresetRequest("Profile_1", name,null)); 

     var presetres = new GetPresetsResponse(); 
     presetres = ptzClient.GetPresets(new GetPresetsRequest("Profile_1")); 

    } 

预置我写了预设的这种方法....但我不知道在哪里设置PTZSpeed的对象,PTZVector如何设置在支持ONVIF网络摄像机

请帮我....

回答

0

我想你在这里混合的东西。使用SoapUi或等价物查看要发送的肥皂消息。

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsdl="http://www.onvif.org/ver20/ptz/wsdl"> 
<soap:Header/> 
<soap:Body> 
    <wsdl:SetPreset> 
     <wsdl:ProfileToken>?</wsdl:ProfileToken> 
     <wsdl:PresetName>?</wsdl:PresetName> 
     <wsdl:PresetToken>?</wsdl:PresetToken> 
    </wsdl:SetPreset> 
</soap:Body> 
</soap:Envelope> 

请注意,您只需提交一个配置文件标记,预设的名称以及预设的标记。如果我没有记错,预设的令牌将在响应中返回。配置文件标记是从Mediaservice.GetProfiles方法返回的项目之一。

平移,倾斜,缩放的速度设置仅在使用Move,GoToHome或GoToPreset命令时使用。

相关问题