-2
    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 的对象

请帮我....

4

1 回答 1

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 命令时使用。

于 2014-01-23T08:07:29.867 回答