mobile CCTV,mobile surveillance,police body worn cameras

标题: 关于PU端获取BVCU_SUBMETHOD_CONF_LIST 和BVCU_SUBMETHOD_CONF_INFO命令的使用 [打印本页]

author: LGL-UM    time: 2019-3-26 15:48
标题: 关于PU端获取BVCU_SUBMETHOD_CONF_LIST 和BVCU_SUBMETHOD_CONF_INFO命令的使用
如题所述, 目前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 ;
}






author: fanghj90    time: 2019-3-26 16:44
CMS ID不用填写。CONF_ID是通过CONF_LIST命令获取到的。
CONF_INFO命令时,BVCU_Command.szTargetID要设置为CONF_ID,不要@CMS

author: LGL-UM    time: 2019-3-26 16:46
fanghj90 post on2019-3-26 16:44
CMS ID不用填写。

请问下CONF_ID,是用哪一个
author: fanghj90    time: 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
author: LGL-UM    time: 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]

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

打印群组信息的代码如下:
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 ;
}

author: fanghj90    time: 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数组哦。
author: LGL-UM    time: 2019-3-27 10:29
fanghj90 post on2019-3-27 10:19
BVCU_SUBMETHOD_CONF_LIST = 0x01600,//获取所有会议列表,BVCU_Command.szTargetID设置为CMS ID。输入 ...

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




欢迎光临 mobile CCTV,mobile surveillance,police body worn cameras (http://bbs.besovideo.com:8067/) Powered by Discuz! X3.2