华为云用户手册

  • setLanguage:languageCode: 接口描述 该接口用于自定义设置SDK国际化语言,默认是中文。 注意事项 实现自定义语言,要求在 en.lproj 同级目录下创建对应的国际化文件。比如新增阿拉伯语则可以创建 ar.lproj/Localizable.strings。通过该接口设置的语言应与系统当前语言保持一致 方法定义 1 + (void)setLanguage:(HWMSdkLanguageType)language languageCode:(NSString *)languageCode;
  • endConf 接口描述 该接口用于结束会议。 注意事项 不在会议中不应调用此接口。 只有主持人可以结束会议。 调用该接口,会议将结束,无法再次加入该会议。 方法定义 1 - (void)endConf:(HWMSDKCompleteHandler)callback; 参数描述 无。 返回值 无 示例代码 1 2 3 4 /// 结束会议 [[HWMSdk getOpenApi] endConf:^(NSError * _Nullable error, id _Nullable result) { [UIUtil showMessage:@"结束会议成功" error:error]; }];
  • leaveConf 接口描述 该接口用于离开会议。 注意事项 不在会议中不应调用此接口。 调用该接口离开会议,会议不会结束,在会议存在期间可以再次入会。 方法定义 1 - (void)leaveConf:(HWMSDKCompleteHandler)callback; 参数描述 无。 返回值 无 示例代码 1 2 3 4 /// 离开会议 [[HWMSdk getOpenApi] leaveConf:^(NSError * _Nullable error, id _Nullable result) { [UIUtil showMessage:@"离开会议" error:error]; }];
  • 头像拦截显示 接口描述 该接口用于定制登录后的头像显示。 调用场景: 图1 画中画模式 图2 画廊模式 图3 悬浮窗 注意事项 未登录的头像不支持自定义。 方法定义 1 public Bitmap queryContactAvatar(ContactInfo contactInfo) 参数描述 表1 ContactInfo参数说明 参数 类型 描述 account String 账号密码登录场景下优先使用此字段 thirdUserId String appid登录场景下优先使用此字段 sipNumber String 跨企业场景优先使用此字段 返回值 表2 参数 类型 描述 bitmap Bitmap 头像位图类 示例代码 sdkConfig.setQueryContactAvatarStrategy(new IQueryContactAvatarStrategy() { @Override public Bitmap queryContactAvatar(ContactInfo contactInfo) { String extendedField = contactInfo.getExtendedField(); HCLog.i(TAG, "setQueryContactInfoStrategy account: " + StringUtil.formatString(contactInfo.getAccount()) + " thirdUserId: " + StringUtil.formatString(contactInfo.getThirdUserId()) + " sipNumber: " + StringUtil.formatString(contactInfo.getSipNumber()) + " extendedField: " + StringUtil.formatString(extendedField) + " realNameAccount : " + StringUtil.formatName(contactInfo.getRealNameAccount())); // 第三方查询通讯录,返回对应用户的头像图片,这里返回一张默认图片作为示例代码 return BitmapFactory.decodeResource(resources, R.mipmap.ic_launcher); } }); 父主题: 界面定制
  • 操作步骤 下载SDK和Demo源码 按照“SDK下载”章节,下载SDK的ZIP包。 解压ZIP包,得到如下文件及目录。 图1 SDK包的目录结构 申请App ID,并替换Demo中的App ID App ID申请步骤请参考“App ID鉴权介绍”。申请审批完成后将获得一个App ID。 将 HWMAppKeyManager中的appId替换为申请到的App ID。如下图所示: 图2 修改Demo默认App ID 编辑和运行 修改bundle identifier、安装对应的证书。换成自己公司的对应证书。 修改Xcode Preferense的Build Location改成Custom 图3 Xcode Build location修改 编译运行。 使用Demo 以创建1个即时会议为例: 点击“初始化”按钮,初始化SDK。 图4 Mac Demo首界面 登录 账号密码登录方式:点击“登录”按钮进入“登录页面”,在“登录页面”输入账号密码后点击“登录”。 图5 Mac Demo登录界面 点击“创建会议”按钮,进入创建会议界面,创建会议。 图6 Mac Demo创建会议界面 图7 Mac Demo会中界面
  • 环境要求 在iOS Demo的编译运行过程中请满足如下环境要求。 表1 环境要求 环境和工具名称 版本要求 说明 操作系统 Mac OSX High Sierra 10.14.4及以上 Xcode对Mac系统要求,推荐版本10.15以上 Xcode Xcode11及以上 Demo及文档以Xcode11.3.1为例 iOS系统版本 iOS11.0及以上,64位设备 屏幕共享功能需iOS12及以上 测试资源及App ID申请 - 请参见“开发前准备”。 表2 项目配置要求 名称 要求 说明 Enable Bitcode NO 不支持编译代码优化 Valid Architectures arm64 支持CPU架构 Other Link Flags -ObjC 把静态库中所有的Objective-C类和分类都加载到最后的可执行文件中 表3 第三方开源库 开源库名称 建议版本 Masonry 必须使用1.1.0及以上 SSZipArchive 2.1.3 YYModel 1.0.4 CocoaLumberjack 3.4.1 libyuv 1.0.2 AFNetworking 4.0.1
  • 操作步骤 下载SDK和Demo源码 参考“SDK下载”章节,下载SDK的ZIP包。 解压ZIP包到DEMO文件夹下,得到如图1所示的文件及目录。 Demo示例工程的目录结构如图2所示。 图1 SDK ZIP包解压后的目录结构 拷贝SDK aar文件 拷贝图1目录下的libs文件夹中所有aar资源到Demo工程的libs文件夹中,如图2所示 图2 Demo示例工程的目录结构 编辑和运行 打开Android Studio 打开Demo示例工程,如图3所示。 打开后如图4所示。 图3 工程目录 图4 工程目录 打开gradle-wrapper.properties,确认是否可以下载到gradle,如果不可以则可以手动到该网址下载,配置成本地依赖. 图5 配置gradle-wrapper.properties 图6 配置本地gradle 打开build.gradle,查看是否可以连接到google,如果不可以则注释掉其他,并且添加自己可用的maven仓。 图7 配置maven 编译并运行demo工程 申请App ID App ID申请步骤请参考“App ID鉴权介绍”。申请审批完成后将获得一个App ID。 将配置文件userinfo.properties中的APP_ID替换为申请到的App ID。如下图所示: 图8 替换App ID 使用demo 登录 点击“登录”按钮,并输入华为云会议账号和密码。 图9 Android Demo登录前后界面 创建会议 点击“创建会议”按钮,创建会议。 图10 Android Demo创建会议界面 会中界面 图11 Android Demo会中界面
  • Demo一览 Android Demo 图1 Android Demo iOS Demo 图2 iOS Demo Windows Demo 图3 Windows Demo Mac Demo 图4 Mac Native Demo Electron Demo 图5 Electron Demo Web Demo 图6 Web Demo Web Demo在线体验地址: PC :https://webrtc-client.obs.cn-north-4.myhuaweicloud.com/webrtc-sdk/meeting-demo.html#/ MOBILE :https://webrtc-client.obs.cn-north-4.myhuaweicloud.com/webrtc-sdk/meeting-mobile-demo.html#/ Demo仅供体验测试,请勿正式使用。 父主题: Demo体验
  • 概述 会议二次开发Android SDK 提供了一套完整的接口集合,开发者可以通过调用HUAWEI CLOUD Meeting SDK(以下简称SDK)开放的API,快速集成音视频会议,包括创建/预约/加入会议、进行屏幕共享等。 Android SDK只能运行在主流的手机和Pad上。如果运行在定制硬件的Android设备上,可能会导致画面分辨率低、画面旋转角度不正确、回声等问题。 Android SDK不支持在华为智慧屏和华为企业智慧屏上做二次开发。 父主题: Android SDK
  • 环境要求 在Windows MFC Demo的编译运行过程中请满足如下环境要求。 表1 环境要求 环境和工具名称 版本要求 说明 操作系统 Windows 10专业版 硬件要求: CPU:i5-2400四核 3.1GHz及以上。 内存:4GB及以上。 Microsoft Visual Studio Visual Studio 2017 安装时需要勾选“使用 C++ 的桌面开发”,“用于 x86 和 x64 的 Visual C++ MFC”,“Windows 10 SDK (10.0.15063.0)” 测试资源及App ID申请 NA 请参见“开发前准备”。
  • 操作步骤 下载SDK和Demo源码 按照“SDK下载”章节,下载SDK的ZIP包。 解压ZIP包,得到如下文件及目录。 图1 SDK包的目录结构 拷贝依赖文件 运行bat目录下的批处理脚本。以编译32位Release版本为例,执行copy_dependency_win32_release.bat脚本,脚本将: SDK的头文件和lib文件拷贝到SDK目录下。 SDK的dll文件和资源文件拷贝到out目录下。 申请App ID,并替换Demo中的App ID App ID申请步骤请参考“App ID鉴权介绍”。申请审批完成后将获得一个App ID。 将"SDK\demo\demoResource\loginCfg.ini"中的defaultAppId替换为申请到的App ID。如下图所示: 图2 替换App ID 编译和运行 双击demo目录下的demo.sln VS工程文件。 在VS中选择32位Release版本。 图3 选择32位Release版本 编译并运行demo工程 图4 Windows Demo登录前界面 使用Demo 假设环境中的网络没有Proxy,PC可以直接访问公网。以创建一个即时会议为例: 点击“Init”按钮。 点击“Login”按钮,并输入华为云会议账号和密码。 图5 Windows Demo登录后界面 点击“Create Conf”按钮,创建会议。 图6 会中界面
  • 常见错误码 表1 HwmErrCode枚举说明 变量 值 描述 HWM_COMMON_ERR_FAILED 1 通用错误。 HWM_COMMON_ERR_PA RAM _ERROR 2 参数错误。 HWM_ LOG IN_ERR_ACCOUNT_OR_PASSWORD_ERROR 10006 账号或密码错误。 HWM_LOGIN_ERR_ACCOUNT_LOCKED 10007 账号被锁定。 HWM_LOGIN_ERR_IP_OR_DEVICE_FORBIDDEN 10008 IP或设备被禁止接入。 HWM_LOGIN_ERR_ACCOUNT_OR_ENTERPRISE_NOT_ACTIVE 10009 账号或企业未激活。 HWM_LOGIN_ERR_AUTH_INFO_TIMEOUT 10011 鉴权信息过期(是否使用UTC时间,是否经过校准)。 HWM_LOGIN_ERR_ACCOUNT_STOPED 10013 账号被停用 HWM_CONF_ERR_CONF_ID_OR_PASSWORD_ERROR 20001 会议id或密码错误。 HWM_CONF_ERR_CONF_LOCKED 20002 会议被锁定。 HWM_CONF_ERR_NOT_IN_CONF 20003 不在会议中,接口调用非法。 HWM_CONF_ERR_VMR_NOT_BEEN_HOLD 20004 VMR会议,来宾不允许激活会议 HWM_CONF_ERR_SHARE_LOCKED 20005 共享被锁定 HWM_CONF_ERR_NOT_IN_DATA_CONF 20006 不在数据会议中 HWM_CONF_ERR_CONF_ONLY_SAME_ENTERPRISE 20007 只允许企业内用户加入会议 HWM_CONF_ERR_CONF_ONLY_INVITED 20008 只允许被邀请者加入会议 HWM_CALL_ERR_THIRD_USER_ID_NO_EXIST 20009 发起呼叫的第三方账号不存在 HWM_ERR_NOT_IN_CONF_OR_CALL 20010 不在会议或呼叫中 HWM_ERR_ALREADY_EXIST_CONF_OR_CALL 20011 已存在一路会议或呼叫 HWM_CONF_ERR_PASSWORD_ERROR_LOCKED 20012 多次输入密码错误导致会议暂时被锁定 HWM_CONF_ERR_CONF_ENDED 20013 会议已结束 HWM_CONF_ERR_SAME_PWD_WITH_CHAIR 20014 来宾密码与主持人密码相同 HWM_CONF_ERR_NUM_OF_PAR_EXCEEDS_UPPER_LIMIT 20015 与会方超出专用VMR套餐的最大与会人数 HWM_CONF_ERR_CONF_NOT_ON_LOCAL_STATION 20016 会议不在本站点 HWM_CONF_ERR_ENTERPRISE_CONCURRENCY_RESOURCE_NOT_ENOUGH 115022001 企业并发资源不足 HWM_CONF_ERR_CONF_DATA_NOT_FOUND 111070005 会议不存在 HWM_CONF_ERR_VMR_DATA_NOT_FOUND 111070006 个人云会议室不存在 HWM_CONF_ERR_CONF_ROLE_AUTHENTICATION_FAILED 111070010 权限不足,无法查看会议 HWM_CONF_ERR_VMR_CONF_CONFLICT 111071106 VMR会议冲突 HWM_CONF_ERR_MODIFY_FAIL_AS_CONF_ALREADY_STARTED 111071065 正在召开会议,无法编辑会议详情 HWM_ORG_CONCURRENT_PARTICIPANTS_NUMBER_IS_ZERO 111071060 企业未配置并发会议资源,无法使用个人会议ID和随机会议ID发起会议 HWM_CONF_USER_NOT_VMR_OWNER 111071063 非云会议室拥有者 HWM_CONF_ERR_CANCEL_FAIL_AS_CONF_STARTED 111071067 会议正在召开中,不允许取消会议 HWM_CONF_ERR_START_TIME_LESS_THAN_CURRENT_TIME 111071013 开始时间早于当前时间 HWM_CONF_ERR_START_TIME_OVER_MAX_SCHEDULE_TIME 111071014 会议开始时间超出最大预订时间范围 HWM_CONF_ERR_VMR_PWM_SAME_AS_MEETING_ID 201080017 来宾密码不能和会议ID相同 HWM_CONF_ERR_PARTICIPANT_CONF_NOT_SUPPORT 111084013 不支持该会议 HWM_CONF_ERR_ATTENDEES_NUMBER_EXCEED_LIMIT 111071066 与会方数量超出上限 HWM_CONF_ERR_VMR_DATA_STATUS_ILLEGAL 111073007 VMR套餐状态非法 HWM_CONF_ERR_WAIT_APPLY_RESOURCE 115029006 等待申请资源中 HWM_CONF_ERR_SDK_SVN_DETECT_FAILE 411000017 svn端口探测不通 HWM_CONF_ERR_RTC_NOT_SUPPORT_STG 411000019 RTC不支持STG模式 HWM_CONF_ERR_OVER_MAX_PARTICIPANT_NUMBER 111072101 超过设置的会议方数 HWM_CONF_ERR_AUDIENCE_VMR_LOGIC_RESOURCE_NOT_ENOUGH 111072202 观众数超过VMR套餐中的观众最大并发资源数 HWM_CONF_ERR_PARTICIPANT_VMR_LOGIC_RESOURCE_NOT_ENOUGH 111072203 主持人与嘉宾超过VMR套餐中的最大并发资源数 HWM_CONF_ERR_PARTICIPANT_CONF_NOT_EXIST 111081002 会场所在会议不存在或已结束 HWM_VMR_RESOURCE_UNAVAILABLE 201080000 云会议资源不可用 HWM_LOGIN_ERR_ACCOUNT_IS_UNBOUND 206010075 账号已经解绑 HWM_CONF_ERR_SERVER_ERROR 990000018 连接不上服务器 HWM_CONF_ERR_JOIN_ROOM_FAIL 990000019 无法加入会议 HWM_CONF_ERR_SERVER_BUSY 990000020 服务器繁忙 HWM_CONF_ERR_RTC_JOIN_ROOM_AUTH_FAIL 990000022 会议鉴权信息校验失败 HWM_CONF_ERR_SERVER_CONNECTION_ERROR 990000025 服务器连接异常 HWM_LOGIN_ERR_CA_VERIFY_FAILED 412100012 服务器CA证书校验失败 HWM_LOGIN_ERR_CURLE_EXTERN_CONNECT_TIMEOUT 412100017 代理通信超时,tcp建链失败,大概率是代理配置错误 HWM_LOGIN_ERR_CURLE_EXTERN_CLOSED_BY_PROXY 412100018 链接被代理断开,大概率是服务器地址配置错误 HWM_LOGIN_ERR_CURLE_COULDNT_RESOLVE_PROXY 412100024 proxy 域名 解析失败 HWM_LOGIN_ERR_CURLE_COULDNT_RESOLVE_HOST 412100025 服务器域名解析失败 HWM_LOGIN_E_ERR_MNG_FAILED 412100044 管理面故障 HWM_AGENT_ERR_CALLBACK_TIMEOUT 90001 等待回调超时 HWM_AGENT_ERR_IN_PRO CES S 90002 接口正在处理中 HWM_AGENT_ERR_NOT_LOGIN 90003 未登录,接口调用非法。 HWM_AGENT_ERR_NOT_INITED_END 90004 未初始化或初始化尚未完成 HWM_AGENT_ERR_NOT_SUPPORT_END 90005 此版本不支持 HWM_AGENT_ERR_OPERATION_INTERRUPT 90012 操作中断 父主题: 错误码参考
  • ChangeVmrInfo 接口描述 该接口用于修改云会议室信息。 注意事项 该接口在已登录状态下才能调用。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 所有字段必填,调用该接口前需要获取VMR列表,不需要变更的数据请使用获取VMR列表接口返回的数据赋值。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode ChangeVmrInfo(const ChangeVmrInfoParam *param); 回调函数 1 virtual void OnChangeVmrInfo(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 参数 是否必须 类型 描述 vmrId 是 char[] 云会议室唯一ID。 vmrName 是 char[] 云会议室名称。 chairPwd 是 char[] 云会议室主持人密码。 guestPwd 是 char[] 云会议室来宾密码。 allowGuestStartConf 否 bool 是否允许来宾提前启动会议。 joinConfRestrictionType 否 HwmJoinConfPermissionType 允许入会范围限制。 isOpenWaitingRoom 否 bool 等候室开启开关。 表1 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 /** * 修改云会议室信息 */ int demoCreateConfWithAttendeeDlg::onClickEditVmrSubmit() { hwmsdkagent::ChangeVmrInfoParam infoParam = {0}; strcpy_s(infoParam.vmrName, sizeof(infoParam.vmrName), GetName().c_str()); strcpy_s(infoParam.chairPwd, sizeof(infoParam.chairPwd), GetChairPwd().c_str()); strcpy_s(infoParam.guestPwd, sizeof(infoParam.guestPwd), GetGuestPwd().c_str()); return hwmsdkagent::ChangeVmrInfo(&infoParam); }
  • GetConfDetail 接口描述 该接口用于获取会议的详细信息。 注意事项 该接口在已登录状态下才能调用。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode GetConfDetail(const char confId[HWM_MAX_CONF_ID_LEN]); 回调函数 1 virtual void OnGetConfDetail(hwmsdk::HwmErrCode ret, const char* reason, const HwmConfDetail* vmrInfoList) {}; 参数描述 表1 接口入参 参数 是否必须 类型 描述 confId 是 char[] 会议ID。 表2 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 表3 结构体HwmConfDetail字段名 字段 类型 描述 confListInfo HwmConfListInfo 会议信息,参见 表3。 vmrFlag bool 是否是vmr会议。 vmrId char[] 云会议室唯一ID。 isRecordOn bool 是否有录制会议权限。 isLiveOn bool 保留。编辑会议时透传会议详情此字段。 isAutoRecord bool 是否开启自动录制会议 isGuestFreePwd bool 是否需要来宾免密。 isMailOn bool 是否发送邮件通知。 isSmsOn bool 是否发送短信通知。 isEmailCalenderOn bool 是否发送日历通知。 joinConfRestrictionType HwmJoinConfPermissionType 会议准入设置 表3。 attendees HwmAttendeeInfo* 与会者列表,字段信息参见 预约会议 中表述。只能查询会前预约时添加的与会人和会中主持人邀请的与会人。如果是与会人主动加入的,这个接口查不出来。 attendeeLen unsigned int 与会者列表长度。 confServerType HwmConfServerType 会议服务器类型 1:RTC or 0:MCU isOpenWaitingRoom bool 是否开启等候室 vmrConfIdType HwmVmrConfIdType 云会议室的会议ID类型,参见HwmVmrConfIdType。 allowGuestStartConf bool 是否允许来宾提前启动会议。 allowGuestStartConfTime unsigned int 允许来宾提前入会时间范围(单位:分钟) :0-随时,n-提前n分钟启动会议。 concurrentParticipants unsigned int 会议方数,会议最大与会人数限制:0为不限制。 defaultSummaryState HwmSummaryState 会议云录制是否包含纪要,初始值。 autoMuteMode HwmAutoMuteType 来宾入会,软终端是否自动静音。 hardTerminalAutoMuteMode HwmAutoMuteType 来宾入会,硬终端是否自动静音。 示例代码 1 2 3 4 5 6 7 8 /** * 获取会议详情 */ int demoEditConfDlg::GetConfDetail() { int ret =hwmsdkagent::GetConfDetail(GetConfID().c_str()); // 使用会议id查询会议详细信息 return ret; }
  • CancelConf 接口描述 该接口用于取消已预约的会议。 注意事项 该接口在登录状态下才能调用。 调用该接口时,仅能取消尚未开始的会议,若会议已召开,则接口返回失败。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode CancelConf(const char confId[HWM_MAX_CONF_ID_LEN]); 回调函数 1 virtual void OnCancelConfResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 参数 是否必须 类型 描述 confId 是 char[] 会议ID。 返回值 表1 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 /** * 取消会议接口 */ int demoConfListDlg::OnBnCancelConf(hwmsdk::HwmErrCode ret, const char* msg) { return hwmsdkagent::CancelConf(GetConfId().c_str()); }
  • EditConf 接口描述 该接口用于编辑已预约的会议。 注意事项 该接口在已登录状态下才能调用。 调用该接口时,仅能编辑尚未开始的会议,若会议已召开,接口将返回失败。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 所有字段必填,编辑会议前需要查询会议详情,不需要变更的数据请使用查询会议详情返回的数据赋值。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode EditConf(const HwmEditConfParam *confParam); 回调函数 1 virtual void OnEditConfResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 表1 结构体HwmEditConfParam参数说明 参数 是否必须 类型 描述 confId 是 char[] 会议ID。 subject 是 char[] 会议主题。 startTime 是 long long 会议开始时间时间戳(utc时间),second。 duration 是 int 会议时长,minute。 confType 是 HwmConfMediaType 会议类型。默认视频会议。 isNeedConfPwd 是 bool 是否需要密码。默认不需要密码。 isRecordOn 是 bool 录制会议开关。(字段即将废弃,不建议使用) isLiveOn 否 bool 保留。编辑会议时透传会议详情此字段。 isAutoRecordOn 是 bool 会议自动录制开关。 timeZone 是 int 时区码,请参考时区表。 vmrFlag 是 bool 是否是vmr会议。不可修改,填入会议详情返回值(废弃) vmrId 否 char[] 云会议室唯一ID。不可修改,填入会议详情返回值 joinConfRestrictionType 是 HwmJoinConfPermissionType 允许入会范围限制。默认所有用户。 isSmsOn 是 bool 发送短信通知开关,企业配置里面需要开启,否则不生效。 isMailOn 是 bool 发送邮件通知开关。 isEmailCalendarOn 是 bool 发送邮件日历开关。 attendees 是 HwmAttendeeInfo* 与会者列表。 attendeeLen 是 unsigned int 与会者列表长度。 vmrConfIdType 是 HwmVmrConfIdType 云会议室的会议ID类型。不可修改,会议详情中vmrConferenceId非空,填入HWM_VMR_CONF_ID_TYPE_FIXED;会议详情中vmrConferenceId为空,填入HWM_VMR_CONF_ID_TYPE_RANDOM isOpenWaitingRoom 否 bool 等候室开启开关 说明: 需要等候室功能开通后才能生效 allowGuestStartConf 否 bool 是否允许来宾提前启动会议。 说明: 仅针对随机会议ID的会议生效。 固定会议ID的会议,请使用修改云会议室信息接口设置。 allowGuestStartConfTime 否 unsigned int 允许来宾提前入会时间范围(单位:分钟) :0-随时,n-提前n分钟启动会议。 concurrentParticipants 否 unsigned int 会议方数,会议最大与会人数限制。 注:不填则不限制 customInfo 否 char[] 自定义扩展信息 defaultSummaryState 否 HwmSummaryState 会议云录制是否包含纪要,初始值。 autoMuteMode 否 HwmAutoMuteType 来宾入会,软终端是否自动静音。 hardTerminalAutoMuteMode 否 HwmAutoMuteType 来宾入会,硬终端是否自动静音。 返回值 表2 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 /** * 编辑会议接口 */ int demoEditConfDlg::EditConf() { hwmsdkagent::HwmConfDetail confDetail{0}; //从缓存中得到会议详情数据赋予confDetail hwmsdkagent::HwmEditConfParam editConfParam{ 0 }; //根据实际需求拷贝confDetail的数据 strncpy_s(editConfParam.confId, confDetail.confListInfo.confId, HWM_MAX_CONF_ID_LEN); editConfParam.vmrFlag = confDetail.vmrFlag; strncpy_s(editConfParam.vmrId, confInfo.vmrId, HWM_MAX_VMR_CONF_ID_LEN); // 此处省略部分赋值代码 editConfParam.timeZone = 56; // 本地时区,用户依据自身情况自己调整,56东八区 editConfParam.isRecordOn = false; editConfParam.isAutoRecordOn = false; editConfParam.startTimeStamp = 1598398920; //utc时间戳 editConfParam.duration = 0 * 60 + 30;//会议时长 editConfParam.joinConfRestrictionType = hwmsdkagent::HwmJoinConfPermissionType::RESTRICTION_CALL_IN_ALL; //取编辑会议上面的允许入会用户类型 // vmrConferenceId非空是固定ID,为空则是随机id editConfParam.vmrConfIdType = (strlen(confInfo.confListInfo.vmrConferenceId) != 0) ? hwmsdkagent::HwmVmrConfIdType::HWM_VMR_CONF_ID_TYPE_FIXED : hwmsdkagent::HwmVmrConfIdType::HWM_VMR_CONF_ID_TYPE_RANDOM; return hwmsdkagent::EditConf(&editConfParam); }
  • GetVmrList 接口描述 该接口用于获取VMR列表。 注意事项 该接口在已登录状态下才能调用。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode GetVmrList(); 回调函数 该接口已废弃,请参考新回调OnGetVmrInfoListResult 1 virtual void OnGetVmrListResult(hwmsdk::HwmErrCode ret, const char* reason, const HwmVmrInfo* vmrInfoList, unsigned int listLen) {}; 新回调 1 virtual void OnGetVmrInfoListResult(hwmsdk::HwmErrCode ret, const char* reason, const HwmVmrListInfo* vmrListInfo) {}; 参数描述 无。 返回值 表1 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 表2 结构体HwmVmrInfo参数说明 参数 类型 描述 vmrConferenceId char[] 云会议室上的固定会议ID。 vmrId char[] 云会议室唯一ID。 chairmanPwd char[] 云会议室主持人密码。 guestPwd char[] 云会议室来宾密码。 type HwmVmrIdType 云会议室类型。 maxParties int 云会议室最大方数。 name char[] 会议室名称。 allowGuestStartConf bool 是否允许来宾提前启动会议。 joinConfRestrictionType HwmJoinConfPermissionType 允许入会范围限制。 isOpenWaitingRoom bool 等候室开启开关。 表3 枚举HwmVmrIdType说明 枚举值 描述 PERSONAL_MEETING_ID 个人会议ID。 CLOUD_MEETING_ROOM_ID 云会议室ID。 表4 结构体HwmVmrListInfo参数说明 参数 类型 描述 numOfVmrs unsigned int 云会议室个数。 vmrs HwmVmrInfo 云会议室信息。 isEnableShareVmr bool 是否开启共享vmr。 示例代码 1 2 3 4 5 6 7 8 9 10 11 /** * 获取Vmr列表 */ void demoBookConfDlg::GetVmrList() { int ret = hwmsdkagent::GetVmrList(); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("GetVmrList error")); } }
  • EndConf 接口描述 该接口用于结束会议。 注意事项 不在会议中不应调用此接口。 调用该接口,会议将结束,无法再次加入该会议。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode EndConf(); 回调函数 1 virtual void OnEndConfResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 无。 返回值 表1 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 /** * 结束会议 */ void demoConfCtrlDlg::OnBnClickedButtonStopConf() { int ret = hwmsdkagent::EndConf(); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("EndConf error")); } }
  • LeaveConf 接口描述 该接口用于离开会议。 注意事项 不在会议中不应调用此接口。 调用该接口离开会议,会议不会结束,在会议存在期间可以再次入会。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode LeaveConf(); 回调函数 1 virtual void OnLeaveConfResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 无。 返回值 表1 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 /** * 离开会议 */ void demoConfCtrlDlg::OnBnClickedButtonLeaveConf() { int ret = hwmsdkagent::LeaveConf(); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("LeaveConf error")); } }
  • StopShare 接口描述 该接口用于结束会中共享。SDK的UI已经实现了“停止共享”功能,如果第三方App不需要通过程序控制停止共享,则不用调用该接口。 注意事项 不在共享中不应调用此接口。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode StopShare(); 回调函数 1 virtual void OnStopShareResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 无。 返回值 表1 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 /** * 结束共享 */ void demoConfCtrlDlg::OnBnClickedButtonStopShare() { //结束共享 int ret = hwmsdkagent::StopShare(); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("StopShare error")); } }
  • StartShare 接口描述 该接口用于开启会议共享。SDK的UI已经实现了“共享”功能,如果第三方App不需要通过程序控制开启共享,则不用调用该接口。 注意事项 不在会议中调用该接口将返回失败。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode StartShare(HwmStartShareInfo *startShareInfo); 回调函数 1 virtual void OnStartShareResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 表1 结构体HwmStartShareInfo参数说明 参数 是否必须 类型 描述 shareType 是 enum 共享类型。 monitorShareInfo 否 HwmMonitorShareInfo 屏幕共享信息。当共享类型不是屏幕共享时,该变量不需要赋值。 appShareInfo 否 HwmAppShareInfo 程序共享信息。当共享类型不是程序共享时,该变量不需要赋值。 operatableUiMonitor 是 HwmMonitorShareInfo 共享时,工具栏所在的显示器。若monitorMode为主副屏,monitor值为0,则不指定显示器。 表2 枚举HwmShareType说明 枚举值 描述 HWM_SHARE_TYPE_MONITOR 屏幕共享。 HWM_SHARE_TYPE_APP 程序共享。 表3 结构体HwmMonitorShareInfo参数说明 参数 是否必须 类型 描述 monitor 是 HwmMonitor 显示器类型,monitorMode为主副屏模式下生效。 monitorMode 是 HwmMonitorMode 屏幕模式。 monitorIndex 是 unsigned int 屏幕索引,monitorMode为多屏模式下生效。 表4 枚举HwmMonitor说明 枚举值 描述 HWM_MONITOR_MAIN 主显示器。 HWM_MONITOR_SECONDARY 副显示器。 表5 枚举HwmMonitorMode说明 枚举值 描述 HWM_MONITOR_MODE_PRIMARY_SECONDARY 主副屏模式。 HWM_MONITOR_MODE_MULTI_MONITOR 多屏模式。 表6 结构体HwmAppShareInfo参数说明 参数 是否必须 类型 描述 appHandle 是 HWND 程序句柄。 返回值 表7 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /** * 开启共享 */ int demoStartShareDlg::clickStartShare() { hwmsdkagent::HwmStartShareInfo data; memset(&data, 0, sizeof(hwmsdkagent::HwmStartShareInfo)); //设置共享类型 data.shareType = hwmsdkagent::HwmShareType::HWM_SHARE_TYPE_MONITOR; //设置共享的显示器 data.monitorShareInfo.monitor = hwmsdkagent::HWM_MONITOR_MAIN; //设置工具栏所在的显示器 data.operatableUiMonitor = hwmsdkagent::HWM_MONITOR_MAIN; int ret = hwmsdkagent::StartShare(&data); return ret; }
  • JoinConfByRandom 接口描述 通过邮件会议通知中的会议链接入会时(会议链接如:https://bmeeting.huaweicloud.com/#/j/981924330/e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659),链接里面的是会议ID(即举例中的981924330)和会议的Random码(即举例中的e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659)。第三方App需要调用本接口加入会议。 如果预约会议时选择没有来宾密码,会议链接只有会议ID,没有Random码。 注意事项 在登录和未登录状态下都可以调用该接口。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode JoinConfByRandom(HwmJoinConfByRandomInfo *joinConfByRandomInfo); 回调函数 1 virtual void OnJoinConfByRandomResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 表1 结构体HwmJoinConfByRandomInfo参数说明 参数 是否必须 类型 描述 confId 是 char[] 会议ID。 random 否 char[] 48位会议密码映射值。来源于分享会议信息中的会议链接尾部。会议不要求来宾密码时,可以为空字符串。 name 否 char[] 会议昵称。在已登录状态下可为空,已登录时为空将使用登录的用户名作为会场名。匿名入会必须传该名字或者提前设置会场名。 domain 否 char[] 域名。离线入会时使用。 isCloseSpk 否 bool 是否关闭扬声器,true关闭扬声器;false不关闭扬声器。 返回值 表2 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // 通过会议ID和Random加入会议 int demoJoinConfByRandomDlg::clickJoinConfByRandom() { // 填写会议ID和密码映射值等;Random入会时,支持配置会场名称 hwmsdkagent::HwmJoinConfByRandomInfo data; memset(&data, 0, sizeof(hwmsdkagent::HwmJoinConfByRandomInfo)); strncpy_s(data.confId, GetMeetingID().c_str(), HWM_MAX_CONF_ID_LEN); strncpy_s(data.random, GetAccessCode().c_str(), HWM_MAX_RANDOM_LEN); strncpy_s(data.name, GetParticipantName().c_str(), HWM_MAX_DISPLAY_NAME_LEN); data.isCloseSpk = false; // 设置麦克风和摄像头开关 int ret = EnableFeature(hwmsdkagent::HWM_ENABLE_FEATURE_TYPE_MIC_SWITCH, true); ret = EnableFeature(hwmsdkagent::HWM_ENABLE_FEATURE_TYPE_CAM_SWITCH, false); ret = hwmsdkagent::JoinConfByRandom(&data); return ret; } 在加入会议前可通过调用EnableFeature修改麦克风、摄像头状态。
  • JoinConfById 接口描述 该接口用于通过会议ID和密码加入已经存在的会议。 注意事项 在登录和未登录状态下都可以调用该接口。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode JoinConfById(HwmJoinConfByIdInfo *joinConfByIdInfo); 回调函数 1 virtual void OnJoinConfByIdResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 表1 结构体HwmJoinConfByIdInfo参数说明 参数 是否必须 类型 描述 confId 是 char[] 会议ID。 password 否 char[] 会议密码。若希望以主持人身份入会,必须传入主持人密码。若希望以来宾身份入会,会议要求来宾密码时,必须传入来宾密码,会议不要求来宾密码时,可以为空字符串。 name 否 char[] 会议昵称。在已登录状态下可为空,已登录时为空将使用登录的用户名作为会场名。匿名入会必须传该名字或者提前设置会场名 isCloseSpk 否 bool 是否关闭扬声器,true关闭扬声器;false不关闭扬声器。 isStopConflictConf 否 bool 强制结束和当前VMR会议资源冲突的会议(必须是vmr资源的拥有者才有权限,否则无效) 返回值 表2 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // 通过会议ID加入会议 int demoJoinConfByIdDlg::clickJoinConfById() { // 填写会议ID和会议密码;未登录场景下加入会议时,也可以配置本会场的会场名称 hwmsdkagent::HwmJoinConfByIdInfo data; memset(&data, 0, sizeof(hwmsdkagent::HwmJoinConfByIdInfo)); strncpy_s(data.confId, GetMeetingID().c_str(), HWM_MAX_CONF_ID_LEN); strncpy_s(data.password, GetAccessCode().c_str(), HWM_MAX_PASSWORD_LEN); strncpy_s(data.name, GetParticipantName().c_str(), HWM_MAX_DISPLAY_NAME_LEN); data.isCloseSpk = false; // 设置麦克风和摄像头开关 int ret = EnableFeature(hwmsdkagent::HWM_ENABLE_FEATURE_TYPE_MIC_SWITCH, true); ret = EnableFeature(hwmsdkagent::HWM_ENABLE_FEATURE_TYPE_CAM_SWITCH, false); ret = hwmsdkagent::JoinConfById(&data); return ret; } 在加入会议前可通过调用EnableFeature修改麦克风、摄像头状态。
  • 参数描述 表1 结构体HwmRecvShareStateInfo参数说明 参数 类型 描述 state HwmState 共享状态。 name char[] 共享者名称。当state为HWM_STATE_ON时才有数据。 number char[] 共享者号码。当state为HWM_STATE_ON时才有数据。 表2 枚举HwmState说明 枚举值 描述 HWM_STATE_OFF 接收的共享已关闭。 HWM_STATE_ON 开始接收到共享。
  • 参数描述 表1 结构体HwmShareStateInfo参数说明 参数 类型 描述 state HwmState 共享状态。 name char[] 共享者名称。当state为HWM_STATE_ON时才有数据。 number char[] 共享者号码。当state为HWM_STATE_ON时才有数据。 shareType HwmShareType 共享类型。 monitor HwmMonitor 共享显示器类型(主屏、副屏)。 appHandle HWND 程序句柄。 stopShareReason HwmStopShareReason 停止共享原因。 表2 枚举HwmState说明 枚举值 描述 HWM_STATE_OFF 共享已关闭。 HWM_STATE_ON 共享已开启。 表3 枚举HwmShareType说明 枚举值 描述 HWM_SHARE_TYPE_MONITOR 屏幕共享。 HWM_SHARE_TYPE_APP 程序共享。 HWM_SHARE_TYPE_WHITE_BOARD 白板共享。 表4 枚举HwmMonitor说明 枚举值 描述 HWM_MONITOR_MAIN 主显示器。 HWM_MONITOR_SECONDARY 副显示器。 表5 枚举HwmStopShareReason说明 枚举值 描述 HWM_STOP_SHARE_BY_NORMAL 正常停止共享。 HWM_STOP_SHARE_BY_REJOIN_CONF MMR迁移。
  • 参数描述 表1 参数说明 参数 类型 描述 updateType HwmConflistUpdateType 更新类型。 confInfoList HwmConfListInfo* 会议列表参数信息。 confInfoLen unsigned int 会议列表参数信息的长度。 表2 枚举HwmConflistUpdateType说明 枚举值 描述 CONFLIST_UPDTAE_ALL 会议列表全量更新。 CONFLIST_UPDATE_ADD 会议列表有增加或者修改。编辑会议导致会议列表变更会上报该值。 CONFLIST_UPDATE_DELETE 会议列表有删除。 表3 结构体HwmConfListInfo参数说明 参数 类型 描述 confId char[] 会议ID。 confSubject char[] 会议主题。 chairmanPwd char[] 主持人密码。 guestPwd char[] 来宾密码。 audiencePwd char[] 观众密码。 startTimeStamp long long 会议开始时间,UTC时间戳,精度秒。 endTimeStamp long long 会议结束时间,UTC时间戳,精度秒。 timeZone char[] 时区码 mediaType HwmMediaType 媒体类型 表2。 scheduserName char[] 会议预定者名称。 vmrConferenceId char[] 用于云会议显示的ID。 chairJoinUri char[] 主持人加入会议uri链接 guestJoinUri char[] 来宾加入会议uri链接 audienceJoinUri char[] 观众加入会议的链接 confStateType HwmConfState 会议状态 isWebinar bool 是否是网络研讨会 selfConfRole HwmConfRole 本人在会议中的角色表5。 customInfo char[] 自定义扩展信息 表4 枚举HwmConfState说明 枚举值 描述 HWM_CONF_STATE_SCHEDULE 预定状态。 HWM_CONF_STATE_CREATING 正在创建状态。 HWM_CONF_STATE_GOING 会议已经开始。 HWM_CONF_STATE_DESTROYED 会议已经关闭
  • 参数描述 表1 结构体HwmConfInfo参数说明 参数 类型 描述 url char[] 当前会议链接,可以分享通过浏览器打开进行入会。 confId char[] 会议id。 role HwmConfRole 会议角色。主持人、普通与会者等。 chairmanPwd char[] 会议主持人密码。 generalPwd char[] 会议来宾密码。 subject char[] 会议主题。 isOtherCorpConf bool 是否是外部企业的会议。如果是加入外部企业的会议或者匿名入会是true,否则是false。 isCreator bool 是否是会议预订者。 isInBreakoutSubConf bool 是否在讨论组中。 customInfo char[] 自定义扩展信息 表2 枚举HwmConfRole说明 枚举值 描述 HWM_CONF_ROLE_ATTENDEE 普通与会者。 HWM_CONF_ROLE_CHAIRMAN 主持人。 HWM_CONF_ROLE_AUDIENCE 观众。 HWM_CONF_ROLE_COHOST 联席主持人。 HWM_CONF_ROLE_WAITING 等候室成员。
  • 参数描述 表1 结构体HwmConfStateInfo参数说明 参数 类型 描述 state HwmState 会议状态。 reason HwmConfEndReason 离会原因。 isP2PConf bool 是否立即会议。 表2 枚举HwmState说明 枚举值 描述 HWM_STATE_OFF 会议未开始或已离开状态。 HWM_STATE_ON 会议已开始状态。 表3 枚举HwmConfEndReason说明 枚举值 描述 HWM_CONF_END_REASON_LEAVE_CONF_HANGUP 离开会议。 HWM_CONF_END_REASON_STOP_CONF_HANGUP 会议已结束。 HWM_CONF_END_REASON_CHAIR_HANGUP 被主持人移出会场。 HWM_CONF_END_REASON_SESSION_TIMER_TIMEOUT 网络中断。 HWM_CONF_END_REASON_NOSTREAM_HANGUP 网络异常。 HWM_CONF_END_REASON_CORP_CONFERENCE_RESOURCE_HAS_BEEN_RUN_OUT 企业资源已达上限。 HWM_CONF_END_REASON_CONF_ONLY_SAME_ENTERPRISE 只允许企业内用户加入会议 HWM_CONF_END_REASON_CONF_ONLY_INVITED 只允许被邀请者加入会议 HWM_CONF_END_REASON_CONF_IS_LOCKED 会议被锁定 HWM_CONF_END_ERR_VMR_NOT_BEEN_HOLD VMR会议来宾不允许激活会议 HWM_CONF_END_REASON_VMR_CONF_CONFLICT VMR会议冲突 HWM_CONF_END_REASON_SERVER_ERROR 服务器异常 HWM_CONF_END_REASON_NUM_OF_PAR_EXCEEDS_UPPER_LIMIT 与会方超出专用VMR套餐的最大与会人数 HWM_CONF_END_REASON_CONF_NUM_OVER_MAX_ALLOWED = 111071116 超出最大在线会议数限制 HWM_CONF_END_MANAGER_SHARE_VMR_NOT_ENOUGH = 111071151 无共享云会议室资源 HWM_CONF_END_REASON_OVER_MAX_PARTICIPANT_NUMBER = 111072101 超过设置的会议方数 HWM_CONF_END_REASON_PARTICIPANT_REACH_MAX_NUM = 111072504 达到系统单个会议人数上限 HWM_CONF_END_REASON_PARTICIPANT_CONF_NOT_EXIST = 111081002 会场所在会议不存在或已结束 HWM_CONF_END_MANAGER_NO_UPSCALE_VMR = 112030001 无高档可用的VMR资源 HWM_CONF_END_REASON_END_EXPIRATION = 414100069 用户,企业或SP失效 HWM_CONF_END_REASON_SDK_CHAIR_END_CONF = 414100074 主持人结束会议 HWM_CONF_END_REASON_SDK_TIMEOVER_END_CONF = 414100075 会议到时间结束会议 HWM_CONF_END_REASON_CALLEE_REFUSED_END_CONF = 414100076 被叫拒接 HWM_CONF_END_REASON_CALLEE_TIMEOUT_END_CONF = 414100077 被叫超时 HWM_CONF_END_FORCE_OPEN_CAMERA_HANGUP = 414100078 强制视频会议挂断 HWM_CONF_END_REASON_RTC_SDK_NETWORK_FAILED = 990000053 网络问题
  • 参数描述 表1 结构体HwmConfIncomingInfo参数说明 参数 类型 描述 state HwmConfComingState 来电状态。 mediaType HwmMediaType 会议媒体类型。 confId char[] 会议id。 vmrId char[] VMR会议id。 isP2PConf bool 是否立即会议。 thirdUserId char[] 与会者三方账号,appId登录时使用。 表2 枚举HwmConfComingState说明 枚举值 描述 HWM_CONF_COMING_STATE_START 初始状态,来电振铃中。 HWM_CONF_COMING_STATE_ACCEPT 接听状态,已接听来电。 HWM_CONF_COMING_STATE_REJECT 拒绝状态,已拒绝来电。 HWM_CONF_COMING_STATE_TIMEOUT 未响应状态,呼叫超时或者主叫已挂断。 表3 枚举HwmMediaType说明 枚举值 描述 HWM_MEDIA_TYPE_AUDIO 音频。 HWM_MEDIA_TYPE_VIDEO 视频。
  • 参数描述 表1 参数说明 参数 类型 描述 injectBtn HwmClickInjectBtn 按钮类型。 data void* 按钮参数,可能为空。 若按钮类型为HWM_CLICK_INJECT_BTN_CALL_OTHER_NUM,该参数为期望呼叫的与会者信息; 若按钮类型为HWM_CLICK_INJECT_BTN_INVITE,该参数为空。 若按钮类型为HWM_CLICK_INJECT_BTN_CALL_ALL,该参数为HwmCallAllInfo全部呼叫信息 id const char* 自定义按钮id。 当按钮类型为HWM_TOOLS_INJECT_BTN_CUSTOM时,该参数为自定义按钮的id; 当按钮类型为HWM_CLICK_INJECT_BTN_PARTICIPANT_DETAIL,该参数为HwmConfAttendee; 当按钮类型为其他值时,该参数为空。 表2 枚举HwmClickInjectBtn说明 枚举值 描述 HWM_CLICK_INJECT_BTN_INVITE 邀请按钮。 HWM_CLICK_INJECT_BTN_CALL_OTHER_NUM 呼叫其他号码按钮。 HWM_CLICK_INJECT_BTN_ATTENDEE 与会者按钮。 HWM_CLICK_INJECT_BTN_SHARE 共享按钮。 HWM_CLICK_INJECT_BTN_LEAVE 离开按钮。 HWM_TOOLS_INJECT_BTN_CUSTOM 用户自定义按钮。 HWM_CLICK_INJECT_BTN_COPY_CONF_INFO 复制会议信息按钮。 HWM_CLICK_INJECT_BTN_PARTICIPANT_DETAIL 与会者详情按钮。 HWM_CLICK_INJECT_BTN_CALL_ALL 全部呼叫按钮。 表3 结构体HwmCallAllInfo参数说明 参数 类型 描述 list HwmConfAttendee* 被叫列表。 count unsigned int 被叫数量。
共100000条