2014-01-22 11 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")); 

    } 

의 프리셋을 설정하는 방법은 미리 설정이 방법을 쓰기 ....하지만 는 ONVIF 지원 IP 카메라

이 제발 도와주세요 난 PTZVector

, 내가 PTZSpeed의 목적을 설정 위치를 잘 모릅니다 ....

답변

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 명령을 사용할 때만 사용됩니다.