华为云用户手册

  • 80.9.5更新内容 1. Mac补充获取会议详情、编辑会议接口新增参数allowLive,具体详见获取会议详情、编辑会议。 2. 新增周期会议相关接口,具体详见预约周期会议、编辑周期会议、编辑周期子会议、取消周期会议、取消周期子会议。 3. 功能配置开关接口新增分组讨论功能开关枚举值HWM_CAPABILITY_BREAKOUT_CONF,具体请见功能配置开关。 4. 会议信息通知新增参数isInBreakoutSubConf,具体详见会议信息通知。Mac在下个版本支持。 5. Electron SDK补充常见错误码,具体详见常见错误码。 父主题: 版本更新内容
  • 80.9.5更新内容 1. 会议详情HWMConfDetail.h、编辑会议HWMOrderConfParam.h新增字段isRecordOn、isLiveOn,具体详见HWMConfDetail参数说明、HWMOrderConfParam参数说明。 2. 开启功能接口enableSDKCapability新增分组讨论枚举值HWMSDKCapabilitySuportBreakoutConf,具体详见HWMSDKCapabilitySuport参数说明。 3. 取消周期子会议CancelSubCycleConf中字段subConfUUID改成subConfID,具体详见HWMSDKCancelSubCycleConfParamModel参数说明。 4. 预约周期会议和编辑周期会议接口,HWMCycleConfParam.h中cycleCount字段废弃,具体详见HWMCycleConfParam参数说明。 父主题: 版本更新内容
  • setShareScreenPermission 接口描述 该接口用于设置共享权限。 注意事项 该接口返回值只代表接口是否调用成功。 方法定义 1 - (BOOL)setShareScreenPermission:(BOOL)isPermission; 参数描述 表1 参数说明 参数 是否必须 类型 描述 isPermission 是 bool 是否允许。 返回值 表2 返回值 类型 描述 BOOL 接口调用成功返回YES,失败返回NO。 示例代码 12 /// 设置共享权限[[HWMSdk getOpenApi] setShareScreenPermission:isPermission];
  • setLocalRecordPath 接口描述 用于自定义本地录制文件的存储路径。 注意事项 如果用户调用该接口指定了录制文件夹,则开启沙盒后不能重新创建,会写到默认路径。 方法定义 1 - (void)setLocalRecordPath:(NSURL *)url; 示例代码 123456789 NSOpenPanel *select = [NSOpenPanel openPanel]; select.canChooseFiles = NO; select.canChooseDirectories = YES; select.prompt = @"确定"; [select beginSheetModalForWindow:self.view.window completionHandler:^(NSModalResponse result) { if (result == 1) { [[HWMSdk getOpenSDK] setLocalRecordPath:select.URL]; } }];
  • cancelSubCycleWithParam: 接口描述 该接口用于取消未开始的周期子会议。 注意事项 该接口在登录状态下才能调用。 子会议未开始前可以调用接口,开始后调用则无效。 方法定义 1 - (void)cancelSubCycleWithParam:(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 91011 /// 取消周期子会议- (void)confirmCancelSubConf { HWMSDKCancelSubCycleConfParamModel *cancelParma = [[HWMSDKCancelSubCycleConfParamModel alloc] init]; cancelParma.confId = confId; cancelParma.subConfID = subConfID; cancelParma.endOnlineConf = YES; [[HWMBizSdk getBizOpenApi] cancelSubCycleWithParam:cancelParma callback:^(NSError * _Nullable error, id _Nullable result) { NSString *tips = !error ? @"取消会议成功" : @"取消会议失败"; [UIUtil showMessage:tips error:error]; }];}
  • cancelCycleConf 接口描述 该接口用于取消至少还有一场子会议未开始的周期会议。 注意事项 该接口在登录状态下才能调用。 最后一场子会议未开始前可以调用接口,开始后调用则无效。 方法定义 1 - (void)cancelCycleConf:(NSString *_Nonnull)confId callback:(_Nonnull HWMSDKCompleteHandler)callback; 参数描述 表1 参数说明 参数 是否必须 类型 描述 confId 是 NSString * 会议id 示例代码 12345678 /// 取消周期会议- (void)cancelCycleConf { NSString *confId = "989156631"; [[HWMBizSdk getBizOpenApi] cancelCycleConfWithParam:cancelParam callback:^(NSError * _Nullable error, id _Nullable result) { NSString *tips = !error ? @"取消周期会议成功" : @"取消周期会议失败"; NSLog(@"%@",tips); }];}
  • 业务流程 SDK初始化时,如果是windows 64位平台,先修改HwmSdk文件夹下HwmSdk.exe文件的名称,其他平台不涉及;再调用init同步接口。 修改exe文件名称(仅针对windows 64位平台,其他平台不涉及) 修改HwmSdk文件夹下HwmSdk.exe文件名称为MySdk.exe。 接口调用 构建数据结构InitInfo。 调用Init接口,完成配置初始化,第1步中的数据作为参数。
  • 示例代码 1 2 3 4 5 6 7 8 910111213141516 /***初始化接口,拉起应用*/async goToInit() { let param = { exePath: "E:\\Hello_World\\debug\\win32\\HwmSdk\\MySdk.exe",// 只有windows 64位平台需要设置sdk路径,假设HwmSdk目录在E:\\Hello_World\\debug\\win32\\,假设exe文件名称为MySdk.exe(路径需要utf8编码) logPath: "E:\\Hello_World\\debug\\win32\\MySdk\\log\\",// 指定日志路径(路径需要utf8编码) userDataPath: "E:\\Hello_World\\debug\\win32\\MySdk\\UserData\\", // 指定数据路径(路径需要utf8编码) appId: getAppId() }; const apiService = new ApiService(); let setResult = await apiService.init(param); if (setResult != 0) { window.electron.ipcRenderer.send("show-error-alert", "init error = " + setResult.ret); }} 123456789 /*** ApiService中init定义*/init(initInfo) { console.log("init, in param = ", initInfo); let ret = this.uisdkService.init(initInfo); console.log("init, out data = ", ret); return ret;} 典型场景和接口参考中的示例代码仅作为示例用的伪代码,不能直接使用。
  • windows平台编译.node文件时遇Could not find any Visual Studio installation to use的错误提示 客户案例: windows平台,在编译.node文件时提示Could not find any Visual Studio installation to use。 原因分析: Visual Studio没安装好或者环境变量GYP_MSVS_VERSION和安装的Visual Studio版本不配套 解决方案: 重新安装Visual Studio或者修改环境变量GYP_MSVS_VERSION为对应的Visual Studio的版本 父主题: Electron SDK
  • mac平台环境安装时遇permission denied的错误提示 客户案例: 某客户集成了会议Electron Sdk,在安装所需环境时提示permission denied。 原因分析: 文件权限问题。 解决方案: 使用chmod命令修改对应报错文件的权限,如:chmod 777 XXX;或者在安装对应依赖包时添加参数:--unsafe-perm=true --allow-root, 如 npm install -electron@13.6.7 –g --unsafe-perm=true --allow-root 父主题: Electron SDK
  • 70.14.5更新内容 1. 预约云会议室时支持选择预约固定云会议室ID或随机云会议室ID,具体请见 HWMVmrConfIdType说明。 3. 预约、编辑会议支持设置“来宾在主持人之前加入会议”,并可设置提前入会时间(allowGuestStartConf、allowGuestStartConfTime),具体参数请见 HWMOrderConfParam参数说明 。 4. APPID登录支持指定部门ID,具体请见 HWMAppIDLoginParam参数说明。 5. 新增设置网络模式接口,具体请见网络模式设置 父主题: 版本更新内容
  • 自定义会控按钮 自定义新增按钮。底部工具栏按钮、共享工具栏和更多菜单中的按钮支持第三方开发者自定义添加。目前底部工具栏和共享工具栏限制自定义按钮个数为1,超出的自定义按钮会移入更多菜单,自定义底部/共享工具栏按钮的顺序固定在“更多”按钮前;自定义更多菜单按钮会在底部和共享工具栏更多按钮中同时生效,底部工具栏的更多菜单中自定按钮添加在菜单栏最后,共享工具栏的更多菜单中自定按钮添加在“离开”按钮前。 删除自定义按钮。通过Config接口删除customButton中的按钮配置,关于清空自定义按钮操作,若赋值customButton:[],则清空全量自定义按钮;若customButton下未配置某位置下的自定义按钮,则清空该位置下的自定义按钮。 自定义按钮子菜单功能说明: 当 subMenu 为空时,点击按钮通知对应按钮 id 被点击; 当 subMenu 不为空时,点击按钮显示 subMenu 二级菜单,并且不通知; 通过Config接口增删改自定义按钮时,需要传对应位置的全量自定义按钮,支持动态刷新底部/共享工具栏,更多菜单不支持,而是在重新生成时刷新。刷新单个自定义按钮请参考刷新自定义按钮配置。 增加自定义按钮 以添加自定义带子菜单的底部工具栏按钮、共享工具栏按钮和更多菜单按钮为例: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ { "id": "customMenu","title": "自定义按钮", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 1, "subMenu":[ { "id": "customSecondMenu", "title": "二级菜单", "buttonImg": "D:/demoResource/icon-whiteboard.svg" } ] }, { "id": "customMore", "title": "自定义更多", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 0 }, { "id": "customShare", "title": "自定义共享", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 2 } ] } } }} 更新自定义按钮 注意确保id和buttonPos正确,修改按钮的其他信息。以重命名底部工具栏按钮为例: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ { "id": "customMenu","title": "重命名按钮", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 1, "subMenu":[ { "id": "customSecondMenu", "title": "二级菜单", "buttonImg": "D:/demoResource/icon-whiteboard.svg" } ] }, { "id": "customMore", "title": "自定义更多", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 0 }, { "id": "customShare", "title": "自定义共享", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 2 } ] } } }} 删除部分自定义按钮 customButton删除对应按钮,同时需要保留其他自定义按钮。以删除底部工具栏自定义按钮为例: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ { "id": "customMore","title": "自定义更多", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 0 }, { "id": "customShare", "title": "自定义共享", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 2 } ] } } }} 清空某个位置下的自定义按钮 customButton中删除该位置下的所有自定义按钮即可,若customButton下未配置某位置下的自定义按钮,则会清空该位置下的自定义按钮。以清空底部工具栏自定义按钮为例: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ { "id": "customMore", "title": "自定义更多", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 0 }, { "id": "customShare", "title": "自定义共享", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 2 }, ] } } }} 清空全量自定义按钮 customButton传入空数组,会清空所有位置下自定义按钮。清空示例如下: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ ] } } }} 父主题: 界面定制
  • 运行Electron demo时遇electron failed to install correctly的错误提示 客户案例: 某客户集成了会议Electron Sdk,运行启动时提示electron failed to install correctly。 原因分析: 造成原因一般是用户本地node版本和安装的electron版本不配套导致。 解决方案: 前往node官网下载electron版本建议的node版本(配套关系参见https://www.electronjs.org/zh/docs/latest/tutorial/electron-timelines)替换安装后,重新编译启动工程即可解决。 父主题: Electron SDK
  • 80.10.5更新内容 1.修改云会议室信息ChangeVmrInfoParam和云会议室信息HwmVmrInfo新增字段joinConfRestrictionType允许入会范围限制、isOpenWaitingRoom等候室开启开关,详见 表2和ChangeVmrInfo 2.新增设置共享权限接口SetShareScreenPermission,详见SetShareScreenPermission 父主题: 版本更新内容
  • 示例代码 1 2 3 4 5 6 7 8 910 /*** 退出sdk*/async exitSdk(){ const apiService = await new ApiService(); let setResult = await apiService.exit(); if(setResult != 0){ window.electron.ipcRenderer.send("show-error-alert", "exit error = " + setResult); }}
  • 80.12.5更新内容 1.新增上传头像接口UploadSelfAvatar,详见UploadSelfAvatar 2.新增会议是否共享锁定状态变化通知OnConfIsShareLockedChanged,详见共享锁定状态变化通知 3.企业配置通知OnCorpConfig中HwmCorpConfigInfo新增字段 是否支持通讯录显示enableShowAddressBookStructure,详见表1 4.新增会议结束原因错误码,达到系统单个会议人数上限 111072504 HWM_CONF_END_REASON_PARTICIPANT_REACH_MAX_NUM,详见表3 父主题: 版本更新内容
  • 80.10.5更新内容 云会议室列表(HWMVmrInfoModel.h)和修改云会议室信息(HWMModifyVMRParam.h)新增字段confAllowJoinUser允许入会范围限制、isOpenWaitingRoom等候室开启开关。具体请见HWMVmrInfoModel参数说明、HWMModifyVMRParam参数说明。 新增设置共享权限接口setShareScreenPermission。具体请见设置共享权限。 父主题: 版本更新内容
  • 参数描述 表1 枚举HwmUserCorpInfoNotifyType说明 参数 描述 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_DELETE 用户已注销。 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_JOIN_NEW_CORP 用户已加入新的企业(接受邀请、创建企业变成新企业的用户)。 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_LEAVE_CURRENT_CORP 用户已被移出当前企业(企业管理员删除、解散、用户主动离开企业变成注册用户)。 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_RESET 用户重置(Smartrooms账号被重置激活码或者账号被删除)。 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_VMR_CHANGE 用户vmr变化。 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_NAME_CHANGE 用户姓名变更。 HWM_USER_CORP_INFO_NOTIFY_TYPE_USER_STATUS_CHANGE 接入账号状态变化。
  • 业务流程 接口调用 根据申请的App ID、Key,并获取Access Token参考: - 介绍:开发指南-App ID鉴权介绍; - 获取Access Token的REST接口: 执行App ID鉴权; 以获取到的Access Token作为SDK的joinConf接口的入参(注意参数名为:token)。 只能通过后台调用REST接口获取Access Token,不能在浏览器前台调用该接口,否则会出现CORS错误。 处理回调函数 处理回调函数join_conf_result。
  • editCycleConf 接口描述 该接口用于编辑周期会议。 注意事项 该接口在已登录状态下才能调用。 所有字段必填,编辑修改的字段可来源于用户输入,其他不想修改的属性一定要取会议详情对应字段来赋值。 方法定义 1 - (void)editCycleConf:(HWMBookCycleConfParam *_Nonnull)param callback:(_Nonnull HWMSDKCompleteHandler)callback 参数描述 表1 HWMBookCycleConfParam参数说明 参数 是否必须 类型 描述 confParam 是 HWMOrderConfParam 普通会议参数 cycleConfParam 是 HWMCycleConfParam 周期会议参数 示例代码 1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930313233 /// 编辑周期会议- (void)editCycleConf{ HWMOrderConfParam * orderConfParam = [[HWMOrderConfParam alloc] init]; orderConfParam.confSubject = @"我的预约会议"; orderConfParam.isAutoRecord = YES; orderConfParam.startTime = 1633017600; //utc时间戳,单位秒,如果获取的时间是本地时间,需要转换成utc时间 orderConfParam.duration = 30; //会议持续时长(分钟) orderConfParam.timeZone = 56; orderConfParam.callInRestrictionType = HWMCallRestrictionAll; HWMAttendeeInfo * attendeeInfo = [[HWMAttendeeInfo alloc] init]; attendeeInfo.name = @"Mike"; attendeeInfo.number = @"+991116003543"; attendeeInfo.isMute = YES; orderConfParam.attendee = @[attendeeInfo]; HWMCycleConfParamModel * cycleConfParamModel = [[HWMCycleConfParamModel alloc] init]; cycleConfParamModel.startDate = 1633017600; //utc时间戳,单位秒,如果获取的时间是本地时间,需要转换成utc时间; cycleConfParamModel.endDate = 1636560000; cycleConfParamModel.cycleType = HWMSDKCycleTypeWeek; cycleConfParamModel.preRemindDays = 1; HWMBookCycleConfParam *param = [[HWMBookCycleConfParam alloc] init]; param.confParam = orderConfParam; param.cycleConfParam = cycleConfParamModel; [[HWMBizSdk getBizOpenApi] editCycleConf:param callback:^(NSError * _Nullable error, id _Nullable result) { if (!error) { NSLog(@"book cycle conf success"); }else{ NSLog(@"book cycle conf fail errorCode : %zd",error.code); } }];}
  • 70.16.5更新内容 新增周期会议相关接口,具体请见预约周期会议、编辑周期会议、取消周期会议、编辑周期子会议、取消周期子会议 新增设置网络模式接口,具体请见网络模式设置 新增音频共享,具体请见SampleHandler文件修改 id入会HWMJoinConfParam.h 新增字段isStopConflictConf,具体请见HWMJoinConfParam参数说明 初始化SDK(HWMOpenSDKConfig)新增字段(disableIncomingLocalNotification)会议来电时禁止使用本地推送,具体请见初始化信息HWMOpenSDKConfig sso 登录接口调整,具体请见loginBySSO: 错误码整改,新版本错误码描述请见 新旧版本错误码对应关系 表1 新旧版本错误码对应关系 70.14.6 版本及之前的错误码 70.16.5 版本之后的错误码 新版本错误描述 1002 430400007 The guest password illegal.:来宾密码非 1004 430400002 Time zone error.:时区错误 1005 430400003 The meeting duration is less than 1.:会议时长小于1 1006 430400004 Joining the conference is interrupted.:入会被中断 父主题: 版本更新内容
  • windows平台编译.node文件时遇Could not find any Python installation to use的错误提示 客户案例: windows平台,在编译.node文件时提示Could not find any Python installation to use。 原因分析: python环境变量没有配置好。 解决方案: 1. 系统中配置python环境变量 2. 或者重新安装python,选择自定义安装,勾选 Add Python to PATH 和 install for all user users 父主题: Electron SDK
  • setNetworkModeWithNetworkInfo: 接口描述 如华为云会议的媒体节点下沉部署到企业,并且管理节点也是通过企业内的代理访问,需要将网络模式设置成“企业内外接入”。 企业内的App无法直接访问公网(即媒体节点下沉和管理节点代理下沉场景)的情况下才需要调用该接口。 注意事项 该接口非必需调用,若不设置,则使用默认模式。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 - (HWMSDKERR)setNetworkModeWithNetworkInfo:(HWMSDKNetWorkModeInfoModel *)networkInfo; 参数描述 表1 HWMSDKNetWorkModeInfoModel说明 参数 是否必须 类型 描述 accessType 是 HWMNetworkAccessType 网络类型 表2 枚举HWMNetworkAccessType说明 值 描述 HWMSDKAccessTypeAuto 默认值 HWMSDKAccessTypeInner 内网接入 HWMSDKAccessTypeOuter 外网接入 返回值 无 示例代码 123 HWMSDKNetWorkModeInfoModel *networkInfo = [[HWMSDKNetWorkModeInfoModel alloc] init];networkInfo.accessType = HWMSDKAccessTypeAuto;HWMSDKERR ret = [[HWMSDKNetworkService shareInstance] setNetworkModeWithNetworkInfo:networkInfo];
  • 自定义会控按钮 自定义新增按钮。底部工具栏按钮、共享工具栏和更多菜单中的按钮支持第三方开发者自定义添加。目前底部工具栏和共享工具栏限制自定义按钮个数为1,超出的自定义按钮会移入更多菜单,自定义底部/共享工具栏按钮的顺序固定在“更多”按钮前;自定义更多菜单按钮会在底部和共享工具栏更多按钮中同时生效,底部工具栏的更多菜单中自定按钮添加在菜单栏最后,共享工具栏的更多菜单中自定按钮添加在“离开”按钮前。 删除自定义按钮。通过Config接口删除customButton中的按钮配置,关于清空自定义按钮操作,若赋值customButton:[],则清空全量自定义按钮;若customButton下未配置某位置下的自定义按钮,则清空该位置下的自定义按钮。 通过Config接口增删改自定义按钮时,需要传对应位置的全量自定义按钮,支持动态刷新底部/共享工具栏,更多菜单不支持,而是在重新生成时刷新。 增加自定义按钮 以添加自定义带子菜单的底部工具栏按钮、共享工具栏按钮和更多菜单按钮为例: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ { "buttonId": "customMenu","title": "自定义按钮", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 1 }, { "buttonId": "customMore", "title": "自定义更多", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 0 }, { "buttonId": "customShare", "title": "自定义共享", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 2 } ] } } }} 更新自定义按钮 以重命名底部工具栏按钮为例: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ { "buttonId": "customMenu","title": "重命名按钮", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 1 }, { "buttonId": "customMore", "title": "自定义更多", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 0 }, { "buttonId": "customShare", "title": "自定义共享", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 2 } ] } } }} 删除部分自定义按钮 customButton删除对应按钮,同时需要保留其他自定义按钮。以删除底部工具栏自定按钮为例: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ { "buttonId": "customMore","title": "自定义更多", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 0 }, { "buttonId": "customShare", "title": "自定义共享", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 2 } ] } } }} 清空某个位置下的自定义按钮 customButton中删除该位置下的所有自定义按钮即可,若customButton下未配置某位置下的自定义按钮,则会清空该位置下的自定义按钮。以底部工具栏为例: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ { "buttonId": "customMore", "title": "自定义更多", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 0 }, { "buttonId": "customShare", "title": "自定义共享", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 2 }, ] } } }} 清空全量自定义按钮 customButton传入空数组,会清空所有位置下自定义按钮。清空示例如下: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ ] } } }} 父主题: 其他说明
  • DisableVoicePrompts 接口描述 禁用提示音。 注意事项 该接口非必需调用,如不调用,则默认播放会中提示音。 该接口为同步接口,返回值以错误码形式返回 方法定义 1 SDKERR disableVoicePrompts(VoicePrompts voicePrompts); 参数描述 表1 参数说明 参数 是否必须 类型 描述 voicePrompts 是 VoicePrompts 语音提示信息。 表2 结构体VoicePrompts 参数说明 参数 是否必须 类型 描述 disableMutePrompt 是 boolean 是否禁用静音提示,true表示禁用,false表示不禁用。 返回值 示例代码 1234 VoicePrompts voicePrompts = new VoicePrompts();voicePrompts.setDisableMutePrompt(true);SDKERR result = HWMBizSdk.getBizOpenApi().disableVoicePrompts(voicePrompts);Log.i(TAG, "result code:" + result.getValue() + " desc:" + result.getDescription());
  • setWaterMark 接口描述 该接口用于自定义共享时的水印。 方法定义 1 - (void)setWaterMark:(nullable NSAttributedString *)waterMarkString; 参数描述 水印要展示的内容。 返回值 无 示例代码 NSAttributedString *waterMarkString = [[NSAttributedString alloc] initWithString:@"水印内容"];[[HWMSdk getOpenApi] setWaterMark:waterMarkString];
  • setShareScreenPermission 接口描述 该接口用于设置共享权限。 注意事项 该接口返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回 方法定义 1 - (BOOL)setShareScreenPermission:(BOOL)isPermission; 参数描述 表1 参数说明 参数 是否必须 类型 描述 isPermission 是 bool 是否允许。 返回值 无 示例代码 12 /// 设置共享权限[[HWMSdk getOpenApi] setShareScreenPermission:isPermission];
  • ShowSettingWindow 接口描述 该接口显示设置窗口,会前会中都可以调用。 注意事项 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode ShowSettingWindow(const HwmShowSettingWindowInfo* showInfo); 回调函数 1 virtual void OnShowSettingWindowResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 表1 参数说明 参数 是否必须 类型 描述 showInfo 是 HwmShowSettingWindowInfo 显示设置窗口信息。 表2 结构体HwmShowSettingWindowInfo参数说明 参数 类型 描述 isShow bool 是否显示。 defaultPage HwmSettingPage 默认显示标签页。 表3 枚举HwmSettingPage说明 枚举值 描述 SETTING_PAGE_NORMAL 基本设置页。 SETTING_PAGE_VIDEO 视频设置页。 SETTING_PAGE_AUDIO 音频设置页。 SETTING_PAGE_RECORD 录制设置页。 SETTING_PAGE_HOTKEY 快捷键设置页。 SETTING_PAGE_SCREEN 屏幕设置页。 SETTING_PAGE_COUNT 设置页数量。 示例代码 1 2 3 4 5 6 7 8 91011121314151617 /*** 显示设置窗口*/void demoShowSettingWindowDlg::OnBnClickedOk(){ hwmsdkagent::HwmShowSettingWindowInfo showInfo{ 0 }; showInfo.isShow = true; showInfo.defaultPage = hwmsdkagent::HwmSettingPage::SETTING_PAGE_NORMAL; int ret = hwmsdkagent::ShowSettingWindow(&showInfo); if (hwmsdk::HWM_COMMON_SUC CES S != ret) { AfxMessageBox(_T("show setting window error")); return; }}
  • setNetworkModeWithAccessType 接口描述 如华为云会议的媒体节点下沉部署到企业,并且管理节点也是通过企业内的代理访问,需要将网络模式设置成“企业内网接入”。 企业内的App无法直接访问公网(即媒体节点下沉和管理节点代理下沉场景)的情况下才需要调用该接口。 注意事项 该接口非必需调用,若不设置,则使用默认模式。 该接口仅支持 macOS 10.13 及以上版本。 方法定义 /// 设置网络模式+ (void)setNetworkModeWithAccessType:(HWMAccessType)accessType API_AVAILABLE(macos(10.13)); 参数描述 表1 参数说明 参数 是否必须 类型 描述 accessType 是 HWMAccessType 网络接入类型 表2 枚举HWMAccessType参数说明 枚举值 描述 HWMAccessTypeAuto 默认值。 HWMAccessTypeInner 公司内网接入,用于媒体和信令下沉场景,app从内网接入,信令/媒体消息走代理服务器才能访问云会议服务端。 HWMAccessTypeOuter 公司外网接入,用于非媒体和信令下沉场景,互联网接入,信令/媒体消息可以直接访问云会议服务端。 示例代码 /*** 设置网络模式*/[HWMSdk setNetworkModeWithAccessType:HWMAccessTypeInner];
  • 80.10.5更新内容 获取云会议列表(HWMVmrInfoModel)和修改云会议室信息(HWMModifyVMRParam )新增字段confAllowJoinUser允许入会范围限制、isOpenWaitingRoom等候室开启开关。具体请见HWMVmrInfoModel参数说明、HWMModifyVMRParam参数说明。 新增设置共享权限接口setShareScreenPermission。具体请见设置共享权限。 问题修复,体验更稳定。 父主题: 版本更新内容
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全