mobile CCTV,mobile surveillance,police body worn cameras

 forgetPW
 registerNow
search
view: 1194|reply: 5
打印 prevThread nextThread

获取设备列表的回调以及打开GPS后打开会话的回调的问题

[copyURL]

2

主题

3

帖子

26

积分

newBie

Rank: 1

积分
26
jumpTo
owner
poston 2019-11-6 21:36 | authorOnly 回帖奖励 |倒序浏览 |阅读模式
1.
BVCU_Command cmdInfo;
        memset(&cmdInfo, 0, sizeof(cmdInfo));
        cmdInfo.iSize = sizeof(cmdInfo);
        cmdInfo.iMethod = BVCU_METHOD_QUERY;
        cmdInfo.iSubMethod = BVCU_SUBMETHOD_PU_LIST;
        cmdInfo.OnEvent = cmd_OnEvent;
        BvResult = BVCU_SendCmd(hSession, &cmdInfo);
这段代码cmd_OnEvent这个回调被执行了两次是为什么
// 发送命令的回调
static void cmd_OnEvent(BVCU_HSession hSession, BVCU_Command* pCommand, int iEventCode, void* pParam)
{
        BVCU_Event_SessionCmd* pEvent = (BVCU_Event_SessionCmd*)pParam;
        switch (pCommand->iMethod)
        {
        case BVCU_METHOD_QUERY:
                if (BVCU_SUBMETHOD_PU_LIST == pCommand->iSubMethod)
                {
                        printf("执行获取设备列表回调: \r\n");
                        if (pEvent->stContent.iDataCount > 0)
                        {
                                BVCU_PUChannelInfo* puChannelInfo = (BVCU_PUChannelInfo*)(pEvent->stContent.pData);
                                printf(" index puID puName status \r\n");
                                printf(" channelName mediaDir PTZIndex \r\n");
                                for (int i = 0; i < pEvent->stContent.iDataCount; ++i)
                                {
                                        printf("Index: [%d]    设备 id: %s    设备名称 : %s    设备在线状态: %d \r\n", i + 1, puChannelInfo[i].szPUID,
                                                puChannelInfo[i].szPUName, puChannelInfo[i].iOnlineStatus);
                                        for (int j = 0; j < puChannelInfo->iChannelCount; ++j)
                                        {
                                                printf("\t");
                                                printf("通道名: %s    通道媒体方向: %d    通道云台索引 : %d\r\n", puChannelInfo[i].pChannel[j].szName,
                                                        puChannelInfo[i].pChannel[j].iMediaDir, puChannelInfo[i].pChannel[j].iPTZIndex);
                                        }
                                }
                        }
                        else
                        {
                                printf("无设备列表或者获取设备列表结束\r\n");
                                SetEvent(g_hEvent);
                        }
                }
                break;
        default:
                break;
        }
}

2.执行打开GPS会话
dlgParam.hSession = hSession;
                dlgParam.OnEvent = OnEventDialog;
                dlgParam.afterDecode = afterDecode_GPS;
                dlgParam.iTargetCount = 1;
                dlgParam.pTarget = &targetPu;
                targetPu.iIndexMajor = 65536;                           // GPS通道号,BVCU_SUBDEV_INDEXMAJOR_MIN_GPS——BVCU_SUBDEV_INDEXMAJOR_MAX_GPS之间
                targetPu.iIndexMinor = -1;                              // 流号
                dlgParam.iAVStreamDir = BVCU_MEDIADIR_DATARECV;
                strcpy_s(targetPu.szID,32, szID);                   //

                // 设置会话网络参数
                memset(&dlgCtrlParam, 0, sizeof(dlgCtrlParam));
                dlgCtrlParam.iSize = sizeof(dlgCtrlParam);
                dlgCtrlParam.stNetwork.iDelayMin = 1000;                // 最小延时1秒钟
                dlgCtrlParam.stNetwork.iDelayMax = 5000;                // 最大延时6秒钟
                dlgCtrlParam.stNetwork.iDelayVsSmooth = 3;              // 平滑设置,1——7

                dlgCtrlParam.stRender.iPlackbackVolume = 50;
                dlgCtrlParam.stRender.iCaptureVolume = 50;

                BVCU_Result BvResult;
                BvResult = BVCU_Dialog_Open(&hDialog, &dlgParam, &dlgCtrlParam);

为什么在OnEventDialog回调里iEventCode=BVCU_EVENT_DIALOG_OPEN消息下pParam的iResult会等于BVCU_RESULT_E_VTDU_NONE,这个是什么意思,文档没有说明
reply

使用道具 report

2

主题

3

帖子

26

积分

newBie

Rank: 1

积分
26
sofa
 Owner| poston 2019-11-6 21:36 | authorOnly
主要是文档和SDK出入很大,数据结构都对应不上,很多参数也没有说明作用
reply agree Against

使用道具 report

3

主题

356

帖子

1883

积分

vipMem

Rank: 6Rank: 6

积分
1883
bench
poston 2019-11-6 21:37 | authorOnly
是网盘最新的CUSDK吧?服务器用的是哪个?
reply agree Against

使用道具 report

3

主题

356

帖子

1883

积分

vipMem

Rank: 6Rank: 6

积分
1883
ground
poston 2019-11-6 21:38 | authorOnly
建议用我们的测试服务器: 61.191.27.18, 9702测试,
管理员帐号:test/123

我们的smarteye server默认有3个服务,CMS/VTDU/NRU,
是否你的server软件没有正常的跑起来?
不用SDK,直接用smarteye client/监视器进行测试,是否一切OK?

本帖子中包含更多资源

pls login 才可以下载或查看,没有帐号?registerNow

x
reply agree Against

使用道具 report

1

主题

589

帖子

2045

积分

vipMem

Rank: 6Rank: 6

积分
2045
5#
poston 2019-11-6 21:54 | authorOnly
您好
1、getpulist回调多次是正常的,因为设备太多,网络上也是分段传输的,回调的参数用有个进度,当它是100%时表示命令完成,不会再有回调。
2、BVCU_RESULT_E_VTDU_NONE表示没有负责转发的vtdu服务器在线。
开发手册的更新进度跟不上SDK的改动,一切以SDK备注说明为准,所有的接口和参数在头文件定义处有备注说明。
reply agree Against

使用道具 report

60

主题

1428

帖子

5953

积分

Moderator

Rank: 7Rank: 7Rank: 7

积分
5953
6#
poston 2019-11-6 22:00 | authorOnly
没有可用的在线的VTDU, 就是说smarty server没有正常的跑起来。
reply agree Against

使用道具 report

creditRule

QQ|wireless surveillance

GMT+8, 2024-12-25 09:44 , Processed in 0.057613 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

QuickReply backToTop BackToList