【问题标题】:Events in Onvif Device ManagerOnvif 设备管理器中的事件
【发布时间】:2014-08-19 09:05:48
【问题描述】:

我正在开发一个需要使用 ONVIF 协议从摄像机接收事件(例如运动检测)的应用程序。

我已经从link 下载了最新的 ONVIF Device Manage 版本,并且能够编译和运行它。

我想使用提供的库在我自己的源代码中创建类似于 Onvif 设备管理器的 DeviceEventsView.xaml 的东西,但是我很难弄清楚代码的哪一部分来自库本身。

谁能给我解释一下怎么做?

这是我到目前为止所做的(这段代码可能完全错误):

OdmSession session = new OdmSession(this.session);
IObservable<OnvifEvent> x = session.GetBaseEvents(554);
x.Subscribe(
    onvifEvent =>
    {
        try
        {
            // don't know exactly what to do here
        }
        catch (Exception err)
        {
            dbg.Error(err);
        }
    }, err =>
    {
        dbg.Error(err);
    }
);

【问题讨论】:

    标签: c# onvif


    【解决方案1】:

    我会回答我自己的问题。这是解决我的问题的代码:

    onvif.utils.OdmSession odmSession = new onvif.utils.OdmSession(session);
    odmSession.GetPullPointEvents().Subscribe(
        onvifEvent =>
        {
            try
            {
                foreach (var s in onvifEvent.message.Data.simpleItem)
                {
                    if (s.name == "LogicalState")
                    {
                        // code here
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            } 
    });
    

    【讨论】:

    • 嗨,你能解释一下吗?我有同样的问题,并且事件不会触发。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    相关资源
    最近更新 更多