华为云用户手册

  • isOpenMicrophoneIncoming 接口描述 该接口用于自定义被邀入会时麦克风的开关状态。 注意事项 如果设置除主持人外的与会方入会后自动静音则该自定义无效果; 方法定义 1 - (BOOL)isOpenMicrophoneIncoming; 参数描述 无 示例代码 1 2 3 4 /// 被邀入会时是否打开麦克风 - (BOOL)isOpenMicrophoneIncoming { return NO; }
  • cancelConf 接口描述 该接口用于取消预约的会议。 注意事项 只有主持人可以取消会议 会中调用会结束会议 方法定义 1 - (void)cancelConf:(NSString *_Nonnull)confId callback:(_Nonnull HWMSDKCompleteHandler)callback; 参数描述 表1 参数说明 参数 是否必须 类型 描述 confId 是 NSString * 会议ID。 示例代码 1 2 3 4 5 6 7 8 9 10 /// 取消会议 - (void)cancelConf { [[HWMBizSdk getBizOpenApi] cancelConf:@"986927771" callback:^(NSError * _Nullable error, id _Nullable result) { if (error) { NSLog(@"%@",error.localizedDescription); } else { NSLog(@"取消会议成功"); } }]; }
  • AVDeviceCtrl 接口描述 该接口用于控制本地麦克风、扬声器和摄像头开关。 注意事项 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回 方法定义 HWM_SDK_AGENT_API hwmsdk::HwmErrCode AVDeviceCtrl(HwmDeviceType deviceType, bool isOpen); 回调函数 1 virtual void OnAVDeviceCtrlResult(hwmsdk::HwmErrCode ret, const char* reason, HwmDeviceType deviceType) {}; 参数描述 表1 参数说明 参数 是否必须 类型 描述 HwmDeviceType 是 HwmDeviceType 设备类型枚举。 isOpen 是 bool 是否开启设备。 表2 枚举HwmDeviceType 说明 枚举值 描述 HWM_DEVICE_TYPE_MIC 麦克风设备 HWM_DEVICE_TYPE_SPEAKER 扬声器设备 HWM_DEVICE_TYPE_CAMERA 视频设备 返回值 表3 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 /** * 音视频设备控制 */ int demoAVDeviceCtrlDlg::ClickAVDeviceCtrl() { hwmsdkagent::HwmDeviceType deviceType = hwmsdkagent::HwmDeviceType::HWM_DEVICE_TYPE_MIC; bool isOpen = true; int ret = hwmsdkagent::AVDeviceCtrl(deviceType, isOpen); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("AVDeviceCtrl error")); } }
  • 自定义隐藏外部标签 默认情况下与会者列表中外部企业人员、匿名入会人员将呈现”外部“标签 在OpenSDKConfig中可配置是否隐藏外部标签 使用场景 对于不想展示“外部”标签的应用,可以自定义隐藏 注意事项 1.SDK初始化的时候必须传入这个配置sdkConfig才会生效 示例代码 1 2 3 4 5 6 7 8 9 10 //自定义隐藏外部标签 sdkConfig.setHideExternalLabelHandle(new IHideExternalLabelHandle() { @Override public boolean onHideExternalLabelEvent() { // true隐藏标签,false显示标签 return DemoUtil.needCustom(NeedCustomType.HIDE_EXTERNAL_LABEL); } }); ConfUI.setHideExternalLabelHandle(sdkConfig.getHideExternalLabelHandle()); 父主题: 基础配置
  • disableVoicePrompts: 接口描述 禁用会议提示音。 注意事项 该接口非必需调用,若不设置,则使用默认模式。 返回值只代表接口是否调用成功。 方法定义 1 - (HWMSDKERR)disableVoicePrompts:(HWMSDKVoicePromptsModel *)voicePrompts; 参数描述 表1 HWMSDKVoicePromptsModel说明 参数 是否必须 类型 描述 disableMutePrompt 是 BOOL 主持人静音与会者提示音 返回值 接口是否调用成功 示例代码 1 2 3 HWMSDKVoicePromptsModel * model = [[HWMSDKVoicePromptsModel alloc] init]; model.disableMutePrompt = YES; [[HWMBizSdk getBizOpenApi] disableVoicePrompts:model];
  • getBrandName 接口描述 该接口用于设置会议二维码分享页面品牌名。 图3 自定义二维码分享品牌名 注意事项 跟shareConf:isAnonymous:inCtrl不能同时使用,同时使用getBrandName方法无效果。 方法定义 1 - (NSString *)getBrandName; 参数描述 参数 类型 描述 getBrandName NSString * 会议二维码分享页面品牌名。 返回值 无 示例代码 1 2 3 4 /// 设置会议二维码分享页面品牌名 - (NSString *)getBrandName { return @"集成品牌名"; }
  • shareConf:isAnonymous:inCtrl 接口描述 该接口用于分享会议拦截处理。实现代理后会拦截SDK默认的分享弹窗,如下图红框标注。 图1 分享拦截SDK弹窗 注意事项 如果实现该协议方法,则会中调用分享功能,会回调到该方法。 shareConf:isAnonymous:inCtrl方法实现后,SDK内部分享UI和会议二维码不显示,所以getShareLogoImages、getBrandName设置无效果。 方法定义 1 - (void)shareConf:(HWMConfDetail *)confInfo isAnonymous:(BOOL)isAnonymous inCtrl:(UIViewController *)controller; 参数描述 表1 参数说明 参数 类型 描述 confInfo HWMConfDetail * 会议信息 isAnonymous BOOL 是否匿名入会 controller UIViewController * 当前的vc,接入方可以在当前controller上弹出自己的定制分享页面 表2 HWMConfDetail 说明 参数 类型 描述 confId NSString * 会议id。 confSubject NSString * 会议主题。 accessNumber NSString * 会议接入码。 chairmanPwd NSString * 主持人密码。 generalPwd NSString * 来宾密码。 startTime NSString * 会议开始时间 endTime NSString * 会议结束时间 返回值 无 示例代码 1 2 3 4 5 6 7 8 /// 生效后会拦截SDK内部分享弹窗 - (void)shareConf:(HWMConfDetail *)confInfo isAnonymous:(BOOL)isAnonymous inCtrl:(UIViewController *)controller { NSLog(@"enter share conf"); ShareView *shareView = [[ShareView alloc] init]; [shareView showShareView:^(NSInteger index) { [UIUtil showMessage:[NSString stringWithFormat:@"点击了第%zd个按钮", index + 1]]; }]; }
  • 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /// 编辑会议 - (void)editConf { HWMOrderConfParam * param = [[HWMOrderConfParam alloc] init]; param.confSubject = @"会议名称"; param.startTime = 1598759580; param.duration = 15; param.confType = HWMConfTypeVideo; param.isNeedConfPwd = YES; param.isRecordOn = NO; param.timeZone = 56; param.vmrId = @"";// vmr会议需要传入vmrId param.callInRestrictionType = HWMJoinConfRestrictionAll; param.confId = @"986927771"; [[HWMBizSdk getBizOpenApi] editConf:param callback:^(NSError *_Nullable error, id _Nullable result) { if (error) { NSLog(@"编辑会议失败:%@", error.localizedDescription); } else { NSLog(@"编辑会议成功"); } }]; }
  • getErrorMessage 接口描述 该接口用于获取错误提示。 注意事项 该接口为同步接口,返回值代表接口是否调用成功。 方法定义 1 - (NSString *)getErrorMessage:(NSUInteger)code; 参数描述 表1 参数说明 参数 是否必须 类型 描述 code 是 NSUInteger 错误码 返回值 无 示例代码 1 NSString *msg = [[HWMBizSdk getBizOpenApi] getErrorMessage:errorCode];
  • cancelSubCycleConf 接口描述 该接口用于取消未开始的周期子会议。 注意事项 该接口在登录状态下才能调用。 子会议未开始前可以调用接口,开始后调用则无效。 方法定义 1 - (void)cancelSubCycleConf:(HWMSDKCancelSubCycleConfParamModel *_Nonnull)param callback:(_Nonnull HWMSDKCompleteHandler)callback 参数描述 表1 HWMSDKCancelSubCycleConfParamModel参数说明 参数 是否必须 类型 描述 confId 是 NSString * 会议id subConfID 是 NSString * 子会议id endOnlineConf 是 BOOL 是否需要结束在线会议 示例代码 1 2 3 4 5 6 7 8 9 10 11 /// 取消周期子会议 - (void)confirmCancelSubConf { HWMSDKCancelSubCycleConfParamModel *cancelParma = [[HWMSDKCancelSubCycleConfParamModel alloc] init]; cancelParma.confId = confId; cancelParma.subConfID = subConfID; cancelParma.endOnlineConf = YES; [[HWMBizSdk getBizOpenApi] cancelSubCycleConf:cancelParma callback:^(NSError * _Nullable error, id _Nullable result) { NSString *tips = !error ? @"取消会议成功" : @"取消会议失败"; NSLog(@"%@",tips); }]; }
  • SetWaterMark 接口描述 该接口用于设置水印自定义内容注入,若未进行设置,将默认使用内部优先级来展示水印内容。 图1 自定义水印 注意事项 该接口必须在会前调用,会中调用不会即时生效。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 企业级水印开关未打开的场景下,水印自定义内容注入也不会生效。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode SetWaterMark(const HwmWaterMarkInfo * wtInfo); 回调函数 1 virtual void OnSetWaterMarkInjectInfoResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 表1 参数说明 参数 是否必须 类型 描述 wtInfo 是 HwmWaterMarkInfo 设置水印注入信息。 表2 结构体HwmWaterMarkInfo参数说明 参数 类型 描述 content char[] 设置用户自定义水印注入内容。 color HwmWaterMarkColorType 设置水印字体颜色。 表3 枚举HwmWaterMarkColorType说明 枚举值 描述 HWM_WATERMARK_COLOR_TYPE_LIGHT 浅色 #CCCCCC。 HWM_WATERMARK_COLOR_TYPE_STANDARD 标准色 #999999。 HWM_WATERMARK_COLOR_TYPE_DARKER 深色 #666666。 返回值 表4 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /** * 设置水印 */ void demoWaterMarkInfoDlg::OnBnClickedSetWaterMarkInjectInfo() { std::string content = "admin@1"; unsigned int color = hwmsdkagent::HWM_WATERMARK_COLOR_TYPE_LIGHT; hwmsdkagent::HwmWaterMarkInfo injectInfo = {0}; strncpy_s(injectInfo.content, content.c_str(), HWM_MAX_WATERMARK_CONTENT_LEN); injectInfo.color = (hwmsdkagent::HwmWaterMarkColorType)color; int ret = hwmsdkagent::SetWaterMark(&injectInfo); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("SetWaterMark inject info failed")); } }
  • cancelConf 接口描述 该接口用于取消未开始的会议。 注意事项 只有主持人可以取消会议 方法定义 1 - (void)cancelConf:(NSString *_Nonnull)confId callback:(_Nonnull HWMSDKCompleteHandler)callback; 参数描述 表1 参数说明 参数 是否必须 类型 描述 confId 是 NSString * 会议ID。 示例代码 1 2 3 4 5 6 7 8 9 10 /// 取消会议 - (void)cancelConf { [[HWMBizSdk getBizOpenApi] cancelConf:@"986927771" callback:^(NSError * _Nullable error, id _Nullable result) { if (error) { NSLog(@"%@",error.localizedDescription); } else { NSLog(@"取消会议成功"); } }]; }
  • joinPairConf 接口描述 该接口用于扫码邀请大屏入会。 注意事项 1. 实际业务处理结果在对应的callback回调中。 方法定义 - (void)joinPairConf:(HWMPairCodeJoinConfParam *_Nonnull)param callback:(_Nonnull HWMSDKCompleteHandler)callback; 参数描述 参数 是否必须 类型 描述 param 是 HWMPairCodeJoinConfParam * 入会参数。 表1 HWMPairCodeJoinConfParam 说明 参数 是否必须 类型 描述 url 是 NSString * 二维码url。 confId 是 NSString * 会议ID。 confPassword 否 NSString * 会议密码。 返回值 无 示例代码 - (void)joinPairConf { // 设置入会参数 HWMPairCodeJoinConfParam *param = [[HWMPairCodeJoinConfParam alloc] init]; param.url = @"二维码url"; param.confId = @"989156631"; param.confPassword = getPassword(); // 调用SDK接口 [[HWMSdk getOpenApi] joinPairConf:param callback:^(NSError * _Nullable error, id _Nullable result) { if (error) { [UIUtil showMessageWithError:error]; } else { [UIUtil showMessage:@"入会成功"]; } }]; }
  • 操作步骤 下载SDK和Demo源码 按照“SDK下载”章节,下载SDK的ZIP包。 解压ZIP包,得到如下文件及目录。 图1 SDK包的目录结构 下载Web SDK Demo依赖的第三方库 由于Web SDK Demo中引入了4个第三方库文件,请提前下载,并放在与HWMeeting.js同一目录下。如下图所示: 图2 下载依赖的第三方库文件 这4个文件的建议下载地址如下: https://cdnjs.cloudflare.com/ajax/libs/react/17.0.2/umd/react.development.js https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.2/umd/react-dom.development.js https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.3/moment.min.js https://cdnjs.cloudflare.com/ajax/libs/bulma/0.9.3/css/bulma.min.css 如果由于某些原因,上述地址无法访问,请自行搜索下载。 使用Visual Studio Code打开文件 图3 打开文件夹 指定端口启动本地调试 此步骤前提是已经安装Node.js 在命令行上执行如下命令安装http-server 1 npm install http-server -g 命令行进入meeting-demo.html所在路径,指定端口号启动http-server 1 http-server . -p 8000 图4 启动成功 在Google Chrome浏览器中打开 访问地址:http://localhost:8000/meeting-demo.html 注意:此处访问使用localhost作为域名,而没有使用编译器中的IP,原因是Chrome 47以后,getUserMedia API只能允许来自“安全可信”的客户端的视频音频请求,如https和本地的localhost。如果页面的脚本从一个非安全源加载,Chrome会抛出错误。 使用Demo入会 浏览器Demo展示如下图: 图5 Web Demo启动后界面 使用华为云会议创建一个会议/网络研讨会后, 可以使用会议ID和密码,匿名入会; 也可以通过“执行App ID鉴权”,一键获取token,然后实名入会。 图6 Web Demo会中界面
  • 环境要求 在Web SDK Demo的编译运行过程中请满足如下环境要求。 表1 环境要求 环境和工具名称 版本要求 说明 操作系统 Windows 10专业版 硬件要求: CPU:i5-2400四核 3.1GHz及以上 内存:4GB及以上 Visual Studio Code NA NA Node.js 14.x NA http-server 0.12.3 NA 测试资源及App ID申请 NA 请参见“开发前准备”。
  • SetShareStrategy 接口描述 该接口用于设置屏幕共享的策略是清晰度优先还是流畅度优先。 注意事项 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 HWM_SDK_AGENT_API hwmsdk::HwmErrCode SetShareStrategy(HwmShareStrategyType shareStrategyType); 回调函数 1 virtual void OnSetShareStrategyResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 表1 参数说明 参数 是否必须 类型 描述 shareStrategyType 是 HwmShareStrategyType 屏幕共享策略类型枚举。 表2 枚举HwmShareStrategyType 说明 枚举值 描述 HWM_SHARE_STRATEGY_DEFINITION_FIRST 清晰度优先 HWM_SHARE_STRATEGY_FLUENCY_FIRST 流畅度优先 返回值 表3 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 /** * 设置共享策略 */ void demoSetShareStrategyDlg::OnBnClickedButtonSetShareStrategy() { hwmsdkagent::HwmShareStrategyType type = HWM_SHARE_STRATEGY_DEFINITION_FIRST; int ret = hwmsdkagent::SetShareStrategy(type); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("Set Share Strategy Result failed")); } }
  • editConf 接口描述 该接口用于编辑未开始的预约会议。 注意事项 会议未开始前且自己是主持人才可以调用接口。 预约会议中携带的与会者在编辑会议时需要传入userUuid(会议详情中每个与会者带有该参数)。 所有字段必填,编辑修改的字段可来源于用户输入,其他不想修改的属性通过会议详情参数获取。 方法定义 1 - (void)editConf:(HWMOrderConfParam *_Nonnull)param callback:(_Nonnull HWMSDKCompleteHandler)callback; 参数描述 表1 HWMOrderConfParam参数说明 参数 是否必须 类型 描述 confId 是 NSString * 会议ID。 isLiveOn 否 BOOL 是否开启直播。 其余参数参见预约会议。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 /// 编辑会议 - (void)editConf { HWMOrderConfParam * param = [[HWMOrderConfParam alloc] init]; param.confSubject = @"会议名称"; param.startTime = 1598759580; param.duration = 15; param.isAutoRecord = NO; param.timeZone = 56; param.vmrId = @"";// vmr会议需要传入vmrId param.callInRestrictionType = HWMCallRestrictionAll; param.confId = @"986927771"; [[HWMBizSdk getBizOpenApi] editConf:param callback:^(NSError *_Nullable error, id _Nullable result) { if (error) { NSLog(@"编辑会议失败:%@", error.localizedDescription); } else { NSLog(@"编辑会议成功"); } }]; }
  • setShareScreenPermission 接口描述 该接口用于设置共享权限。 注意事项 该接口返回值只代表接口是否调用成功。 方法定义 1 - (BOOL)setShareScreenPermission:(BOOL)isPermission; 参数描述 表1 参数说明 参数 是否必须 类型 描述 isPermission 是 bool 是否允许。 返回值 表2 返回值 类型 描述 BOOL 接口调用成功返回YES,失败返回NO。 示例代码 1 2 /// 设置共享权限 [[HWMSdk getOpenApi] setShareScreenPermission:isPermission];
  • showSettingWindowWithInfo 接口描述 该接口显示设置窗口。 方法定义 1 - (void)showSettingWindowWithInfo:(HWMUISDKShowSettingWindowInfoModel *)info; 参数描述 表1 参数说明 参数 是否必须 类型 描述 info 是 HWMUISDKShowSettingWindowInfoModel 显示设置窗口信息 表2 结构体HWMUISDKShowSettingWindowInfoModel参数说明 参数 类型 描述 isShow BOOL 是否显示 defaultPage HWMUISDKSettingPage 默认显示标签页 表3 枚举HWMUISDKSettingPage说明 枚举值 描述 HWMUISDKSettingPageNormal 基本设置页 HWMUISDKSettingPageVideo 视频设置页 HWMUISDKSettingPageAudio 音频设置页 HWMUISDKSettingPageRecord 录制设置页 HWMUISDKSettingPageHotkey 快捷键设置页 HWMUISDKSettingPageScreen 屏幕设置页 HWMUISDKSettingPageCount 设置页数量 返回值 无 示例代码 1 2 3 4 5 6 7 8 9 10 - (void)settingEvent:(NSButton *)button { if (![HWMSdk hasInit]) { // 初始化后才可以调用 return; } HWMUISDKShowSettingWindowInfoModel *model = [[HWMUISDKShowSettingWindowInfoModel alloc] init]; model.isShow = YES;// 设置是否显示 model.defaultPage = HWMUISDKSettingPageNormal;// 设置显示标签页 [[HWMBizSdk getBizOpenApi] showSettingWindowWithInfo:model]; }
  • setLanguage:languageCode: 接口描述 该接口用于自定义设置SDK国际化语言,默认是中文。 注意事项 实现自定义语言,要求在 en.lproj 同级目录下创建对应的国际化文件。比如新增阿拉伯语则可以创建 ar.lproj/Localizable.strings。通过该接口设置的语言应与系统当前语言保持一致 方法定义 1 + (void)setLanguage:(HWMSdkLanguageType)language languageCode:(NSString *)languageCode;
  • 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 /// 编辑会议 - (void)editConf { HWMOrderConfParam * param = [[HWMOrderConfParam alloc] init]; param.confSubject = @"会议名称"; param.startTime = 1598759580; param.duration = 15; param.isAutoRecord = NO; param.timeZone = 56; param.vmrId = @"";// vmr会议需要传入vmrId param.callInRestrictionType = HWMJoinCallRestrictionAll; param.confId = @"986927771"; [[HWMBizSdk getBizOpenApi] editConf:param callback:^(NSError *_Nullable error, id _Nullable result) { if (error) { NSLog(@"编辑会议失败:%@", error.localizedDescription); } else { NSLog(@"编辑会议成功"); } }]; }
  • 参数描述 表1 参数说明 参数 类型 描述 status HWMSDKConfStatus 会议通话状态。 表2 枚举HWMSDKConfStatus说明 枚举值 描述 HWMSDKConfStatusIdle 空闲状态 (会议结束) HWMSDKConfStatusIncoming 正在来电 HWMSDKConfStatusCallingOut 正在呼出 HWMSDKConfStatusWaiting 正在等待 HWMSDKConfStatusConnected 已接通 HWMSDKConfStatusRecalling 正在重呼
  • 设置第三方推流视频镜像 接口描述 该接口用于第三方推流时设置本地视频窗口前置摄像头镜像模式。 注意事项 需要放在UI主线程调用,使用前置摄像头设置左右镜像类型,后置摄像头不能镜像。 方法定义 1 2 3 4 5 /** * 设置本地视频窗口镜像模式 * @param mirrorType 窗口镜像模式 0:不做镜像(默认值) 1:上下镜像(目前未支持) 2:左右镜像 */ void setLocalVideoMirrorType(MirrorType mirrorType); 参数描述 表1 参数说明 参数 是否必须 类型 描述 mirrorType 是 MirrorType 窗口镜像模式 MIRROR_NONE(0, "不做镜像") MIRROR_UP_DOWN(1, "上下镜像")(目前未支持) MIRROR_LEFT_RIGHT(2, "左右镜像") 示例代码 HWMBizSdk.getBizOpenApi().setLocalVideoMirrorType(MirrorType.MIRROR_LEFT_RIGHT)); 父主题: 音视频数据流
  • 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为不限制。 示例代码 1 2 3 4 5 6 7 8 9 /** * 获取会议详情 */ int demoEditConfDlg::GetConfDetail() { string confID = CTools::UNICODE2UTF(CString("989156631")); int ret =hwmsdkagent::GetConfDetail(confID); // 使用会议id查询会议详细信息 return ret; }
  • 自定义会中通知栏 该接口用于自定义通知栏中的会议通知图标,默认是如图1所示 使用场景 通知栏中通知图标使用和自己应用图标一致的场景 注意事项 1.SDK初始化的时候必须传入这个配置sdkConfig才会生效 图1 自定义会中通知栏 示例代码 1 2 3 4 5 6 sdkConfig.setNotificationStrategy(new INotificationStrategy() { @Override public int resSmallIcon() { return R.mipmap.ic_launcher; } }); 父主题: 界面定制
  • leaveConf 接口描述 该接口用于离开会议。 注意事项 不在会议中不应调用此接口。 调用该接口离开会议,会议不会结束,在会议存在期间可以再次入会。 方法定义 1 - (void)leaveConf:(HWMSDKCompleteHandler)callback; 参数描述 无。 返回值 无 示例代码 1 2 3 4 /// 离开会议 [[HWMSdk getOpenApi] leaveConf:^(NSError * _Nullable error, id _Nullable result) { [UIUtil showMessage:@"离开会议" error:error]; }];
  • 参数描述 表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 等候室成员。
  • SetShareScreenPermission 接口描述 该接口用于设置共享权限。 注意事项 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回 方法定义 HWM_SDK_AGENT_API hwmsdk::HwmErrCode SetShareScreenPermission(bool isAllowed); 回调函数 1 virtual void OnSetShareScreenPermissionResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 表1 参数说明 参数 是否必须 类型 描述 isAllowed 是 bool 是否允许。 返回值 表2 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 /** * 设置共享权限 */ int demoSetShareScreenPermissionDlg::ClickSetShareScreenPermission() { bool isOpen = true; int ret = hwmsdkagent::SetShareScreenPermission(isOpen); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("SetShareScreenPermission error")); } }
  • leaveConf 接口描述 该接口用于离开会议。 注意事项 不在会议中不应调用此接口。 调用该接口离开会议,会议不会结束,在会议存在期间可以再次入会。 方法定义 1 - (void)leaveConf:(HWMSDKCompleteHandler)callback; 参数描述 无。 返回值 无 示例代码 1 2 3 4 /// 离开会议 [[HWMSdk getBizOpenApi] leaveConf:^(NSError * _Nullable error, id _Nullable result) { [UIUtil showMessage:@"离开会议" error:error]; }];
  • 业务流程 使用SDK实现“邀请”功能时,在SDK初始化完成后先调用config接口,然后处理接口回调函数onConfigResult。会议中,在“邀请”按钮单击后,再处理订阅的消息通知onClickInjectBtnNotify。 接口调用 组装包含配置信息的字符串和接口回调函数onConfigResult。 调用config接口,第1步中的数据作为参数。 处理回调函数 处理回调函数onConfigResult。 处理消息通知 当“邀请”按钮单击后,再处理订阅的消息通知onClickInjectBtnNotify
共100000条