mobile CCTV,mobile surveillance,police body worn cameras

 forgetPW
 registerNow
search
view: 599|reply: 6

关于PU端获取BVCU_SUBMETHOD_CONF_LIST 和BVCU_SUBMETHOD_CONF_INFO命令的使用

[copyURL]

7

主题

16

帖子

69

积分

member

Rank: 2

积分
69
poston 2019-3-26 15:48 | 显示全部楼层 |阅读模式
如题所述, 目前PU端想获取集群通话会议的相关信息,目前 获取的都为空,回调获取到的 pParam->stContent.iDataCount为0
    //CONF部分---------------------------
    BVCU_SUBMETHOD_CONF_LIST = 0x01600,//获取所有会议列表,BVCU_Command.szTargetID设置为CMS ID。输入类型:无;输出类型:BVCU_Conf_BaseInfo数组
                                       //BVCU_Command.iTargetIndex:0-查询所有会议列表;1-查询自己所在会议列表;2-查询自己不在的会议列表;3-查询有管理权限的会议列表。
    BVCU_SUBMETHOD_CONF_INFO,//获取某个会议详细信息,BVCU_Command.szTargetID设置为CONF_ID@CMS(@CMS可以省略,表示目前登录的CMS)。输入类型:无;输出类型:BVCU_Conf_Info

其中有个疑问如何知道 CONF_ID 和 CMS ID,这两个ID和如下结构体里的默认会议ID是否存在关联,能否给个参考示例?

typedef struct _BVCU_PUCFG_ZFYInfo
{
    char szDevModel[BVCU_MAX_ID_LEN + 1];     //设备型号.  只读
    char szIMEI_MEID[BVCU_MAX_ID_LEN + 1];    //设备IMEI/MEID号.  只读
    char szSerial[8];                         //产品序号,不可为空. 可写
    char szUserNo[8];                         //使用者警号,不可为空。可写
    char szUserName[BVCU_MAX_ID_LEN + 1];     //使用者姓名。可写
    char szUserDescribe[BVCU_MAX_ID_LEN + 1]; //使用者描述(可用于备注职位)。 可写
    char szUnitNo[16];                        //使用者单位编号。 可写
    char szUnitName[BVCU_MAX_ID_LEN + 1];     //使用者单位名称。 可写
    char szDefaultConference[BVCU_MAX_ID_LEN + 1];//默认发言会议ID。注意可以通过BVCU_SUBMETHOD_CONF_LIST命令获取会议名称,并显示选择会议列表。 可写
    char szCurrentConference[BVCU_MAX_ID_LEN + 1];//当前发言会议ID。 只读
}BVCU_PUCFG_ZFYInfo;


调用的命令如下:
                    BVCSP_Command stCommand;
                    memset(&stCommand, 0, sizeof(stCommand));
                    BVCU_Result enResult = BVCU_RESULT_S_OK;

                    stCommand.iSize = sizeof(stCommand);
                    stCommand.iMethod = BVCU_METHOD_QUERY;
                    stCommand.iSubMethod = BVCU_SUBMETHOD_CONF_INFO;
                    stCommand.OnEvent = PUMNG_CUCmdOnEvent;
                    enResult = BVCSP_SendCmd(hSession, &stCommand);
                    if (BVCU_Result_FAILED(enResult))
                    {
                        printf("BVCSP_SendCmd fail! %d\n", enResult);
                    }

回调函数如下:
static HI_VOID PUMNG_CUCmdOnEvent(BVCSP_HSession hSession, BVCSP_Command* pCommand, BVCSP_Event_SessionCmd* pParam)
{
    MLOGD(YELLOW"iMethod : 0x%x, iSubMethod : 0x%x"NONE"\n", pCommand->iMethod, pCommand->iSubMethod);

    if (BVCU_SUBMETHOD_CONF_LIST == pCommand->iSubMethod)
    {
        MLOGD("BVCU_SUBMETHOD_CONF_LIST [%d]\n", pParam->stContent.iDataCount);

        if (pParam->stContent.iDataCount >= 1)
        {
            BVCU_Conf_Info *pConfInfo = (BVCU_Conf_Info *)pParam->stContent.pData;
            MLOGD("baseInfo : szName[%s], szID[%s], iMode[%d], szPassword[%s], iConfStatus[%d], iParticipatorCount[%d]\n",
                pConfInfo[0].baseInfo.szName, pConfInfo[0].baseInfo.szID,
                pConfInfo[0].baseInfo.iMode, pConfInfo[0].baseInfo.szPassword,
                pConfInfo[0].baseInfo.iConfStatus, pConfInfo[0].iParticipatorCount);
        }
    }
    else if (BVCU_SUBMETHOD_CONF_INFO == pCommand->iSubMethod)
    {
        MLOGD("BVCU_SUBMETHOD_CONF_INFO [%d]\n", pParam->stContent.iDataCount);

        if (pParam->stContent.iDataCount >= 1)
        {
            BVCU_Conf_Info *pConfInfo = (BVCU_Conf_Info *)pParam->stContent.pData;
            MLOGD("baseInfo : szName[%s], szID[%s], iMode[%d], szPassword[%s], iConfStatus[%d], iParticipatorCount[%d]\n",
                pConfInfo[0].baseInfo.szName, pConfInfo[0].baseInfo.szID,
                pConfInfo[0].baseInfo.iMode, pConfInfo[0].baseInfo.szPassword,
                pConfInfo[0].baseInfo.iConfStatus, pConfInfo[0].iParticipatorCount);
        }
    }

    return ;
}





reply

使用道具 report

1

主题

456

帖子

1509

积分

vipMem

Rank: 6Rank: 6

积分
1509
poston 2019-3-26 16:44 | 显示全部楼层
CMS ID不用填写。CONF_ID是通过CONF_LIST命令获取到的。
CONF_INFO命令时,BVCU_Command.szTargetID要设置为CONF_ID,不要@CMS
reply agree Against

使用道具 report

7

主题

16

帖子

69

积分

member

Rank: 2

积分
69
 Owner| poston 2019-3-26 16:46 | 显示全部楼层
fanghj90 post on2019-3-26 16:44
CMS ID不用填写。

请问下CONF_ID,是用哪一个
reply agree Against

使用道具 report

1

主题

456

帖子

1509

积分

vipMem

Rank: 6Rank: 6

积分
1509
poston 2019-3-26 16:49 | 显示全部楼层
LGL-UM post on2019-3-26 16:46
请问下CONF_ID,是用哪一个

CONF_list 命令回复的BVCU_Conf_BaseInfo数组中,BVCU_Conf_BaseInfo.szID 是会议ID,也就是CONF_ID
reply agree Against

使用道具 report

7

主题

16

帖子

69

积分

member

Rank: 2

积分
69
 Owner| poston 2019-3-27 09:20 | 显示全部楼层
fanghj90 post on2019-3-26 16:49
CONF_list 命令回复的BVCU_Conf_BaseInfo数组中,BVCU_Conf_BaseInfo.szID 是会议ID,也就是CONF_ID

您好,昨天尝试获取CONF_List:
(PUMNG_CUCmdOnEvent-448:3): iMethod : 0x1, iSubMethod : 0x1600
(PUMNG_CUCmdOnEvent-452:3): BVCU_SUBMETHOD_CONF_LIST
szName[1], szID[CONF_5C9ACBD7], iMode[129], szPassword[], iConfStatus[0]
szName[], szID[], iMode[0], szPassword[], iConfStatus[0]

打印出来,实际是有两个群组,但是第二个群组的信息为空或不全


打印群组信息的代码如下:
static HI_VOID PUMNG_CUCmdOnEvent(BVCSP_HSession hSession, BVCSP_Command* pCommand, BVCSP_Event_SessionCmd* pParam)
{
    HI_U32 u32Idx = 0;

    MLOGD(YELLOW"iMethod : 0x%x, iSubMethod : 0x%x"NONE"\n", pCommand->iMethod, pCommand->iSubMethod);

    if (BVCU_SUBMETHOD_CONF_LIST == pCommand->iSubMethod)
    {
        MLOGD("BVCU_SUBMETHOD_CONF_LIST\n");

        if (pParam->stContent.iDataCount >= 1)
        {
            for (u32Idx = 0; u32Idx < pParam->stContent.iDataCount; u32Idx ++)
            {
                BVCU_Conf_Info *pConfInfo = (BVCU_Conf_Info *)(pParam->stContent.pData);

                printf("szName[%s], szID[%s], iMode[%d], szPassword[%s], iConfStatus[%d]\n",
                    pConfInfo[u32Idx].baseInfo.szName, pConfInfo[u32Idx].baseInfo.szID,
                    pConfInfo[u32Idx].baseInfo.iMode, pConfInfo[u32Idx].baseInfo.szPassword,
                    pConfInfo[u32Idx].baseInfo.iConfStatus);
            }

            printf("\n");
        }
    }

    return ;
}

本帖子中包含更多资源

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

x
reply agree Against

使用道具 report

1

主题

456

帖子

1509

积分

vipMem

Rank: 6Rank: 6

积分
1509
poston 2019-3-27 10:19 | 显示全部楼层
LGL-UM post on2019-3-27 09:20
您好,昨天尝试获取CONF_List:
(PUMNG_CUCmdOnEvent-448:3): iMethod : 0x1, iSubMethod : 0x1600
(PU ...

BVCU_SUBMETHOD_CONF_LIST = 0x01600,//获取所有会议列表,BVCU_Command.szTargetID设置为CMS ID。输入类型:无;输出类型:BVCU_Conf_BaseInfo数组
您好,CONF_LIST的输出类型是BVCU_Conf_BaseInfo数组,不是BVCU_Conf_Info数组哦。
reply agree Against

使用道具 report

7

主题

16

帖子

69

积分

member

Rank: 2

积分
69
 Owner| poston 2019-3-27 10:29 | 显示全部楼层
fanghj90 post on2019-3-27 10:19
BVCU_SUBMETHOD_CONF_LIST = 0x01600,//获取所有会议列表,BVCU_Command.szTargetID设置为CMS ID。输入 ...

好的,不好意思,看错了头文件
reply agree Against

使用道具 report

creditRule

QQ|wireless surveillance

GMT+8, 2020-2-28 19:15 , Processed in 0.109376 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

QuickReply backToTop BackToList