|
如题所述, 目前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 ;
}
|
|