华为云用户手册

  • SetAutoHideToolBar 接口描述 该接口用于设置会控栏是否自动隐藏。 注意事项 当次会议生效,离会后恢复默认体验,即鼠标无操作后一段时间后自动隐藏会控栏。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode SetAutoHideToolBar(const HwmAutoHideToolBarParam* autoHideToolBarParam); 参数描述 表1 结构体HwmAutoHideToolBarParam参数说明 参数 类型 描述 isAutoHide bool 是否自动隐藏。 示例代码 1 2 3 4 5 6 7 8 9101112131415 /*** 设置会控栏是否自动隐藏*/void demoSetAutoHideToolBarDlg::OnBnClickedOk(){ hwmsdkagent::HwmAutoHideToolBarParam param{}; param.isAutoHide = m_isAutoHide.GetCheck(); int ret = hwmsdkagent::SetAutoHideToolBar(handles, realCount); if (hwmsdk::HWM_COMMON_SUC CES S != ret) { AfxMessageBox(_T("SetAutoHideToolBar error")); return; }}
  • 100.10.5更新内容 新增接口customLanguageInfosForScene:自定义指定场景文案,具体请见自定义指定场景文案。 新增接口customImageForScene:自定义指定场景图标,具体请见自定义指定场景图标。 新增接口onClickAddVirtualBackgroundItem:自定义虚拟背景图片添加按钮事件,具体请见自定义虚拟背景图片。 新增接口buildWaitingToolBarMenuItems自定义与会者等候中列表底部toolbar菜单,具体请见buildWaitingToolBarMenuItems。 新增接口buildOfflineToolBarMenuItems自定义与会者未入会列表底部toolbar菜单,具体请见buildOfflineToolBarMenuItems。 父主题: 版本更新内容
  • 100.9.5更新内容 1.预约会议参数HwmBookConfParam、编辑会议参数HwmEditConfParam中vmrFlag 字段废弃,详见表1,表1 2.Config接口新增配置字段call_all 全部呼叫按钮,可隐藏、可注入,详见表9,点击注入OnClickInjectBtn通知里面按钮类型里面增加HWM_CLICK_INJECT_BTN_CALL_ALL全部呼叫按钮,data信息是HwmCallAllInfo,详见表3 3.新增通知OnUserSavePathChanged 用户数据路径变化通知,详见用户数据路径变化通知 4.新增通知OnAddAttendeeNotify 添加与会者结果通知,详见添加与会者结果通知 5.HwmConfIncomingInfo 会议来电信息新增字段 thirdUserId 第三方账号,详见表1 6.新增会议开始时间startTimeStamp 、会议结束时间endTimeStamp,废弃原有字段startTime 、endTime,详见表2,表3,表1 7.会中信息HwmMeetingInfo新增字段supportGuestInviteAttendee 是否支持来宾外邀,详见表1 8.发送端共享状态信息HwmShareStateInfo 新增字段 stopShareReason 停止共享原因,详见表1 父主题: 版本更新内容
  • 参数描述 参数 类型 描述 confIncomingInfo HWMConfIncomingInfoModel 会议来电信息。 表1 HWMConfIncomingInfoModel参数说明 参数 类型 描述 isP2PConf boolean 是否立即会议。 confId string 会议ID。 vmrConfId string Vmr会议ID。 thirdUserId string 第三方用户ID,App ID鉴权时使用。
  • 参数描述 表1 HWMP2PConfRecordInfoModel参数说明 参数 类型 描述 callerInfo HWMCallMemberInfo 主叫方信息。 calleeInfo HWMCallMemberInfo 被叫方信息。 startTimeStamp NSTimeInterval 呼叫开始时间。 endTimeStamp NSTimeInterval 呼叫结束时间。 mediaType HWMMediaType 媒体类型。 isCallOut BOOL 是否为主动呼出。 isCallEstablished BOOL 呼叫是否建立。 resultCode HWMSDKERR 呼叫结束原因。 resultMsg NSString 呼叫结束描述。 表2 HWMCallMemberInfo参数说明 参数 类型 描述 nickName NSString 姓名。 number NSString 号码。 thirdUserId NSString 第三方账号。 表3 枚举HWMMediaType说明 枚举值 描述 HWMMediaTypeAudio 音频。 HWMMediaTypeVideo 视频。
  • 操作步骤 下载SDK和Demo源码 按照“SDK下载”章节,下载SDK的ZIP包。 解压ZIP包,得到如下文件及目录。 图1 SDK包的目录结构 图2 SDK资源 添加依赖库 打开UISDKDemo工程,把HWMUISDK.har拷贝到UISDKDemo/entry目录下。 图3 HWMUISDK.har添加完成效果 签名 1. HWMUISDK.har添加完后,可以直接编译运行。会出现如下签名报错提示: 图4 工程签名报错提示 2. 按照提示,授权华为账号登录DevEco Studio, 图5 授权华为账号登录DevEco Studio 3. 重新运行UISDKDemo工程 使用Demo 以创建1个即时会议为例: 点击“初始化”按钮,初始化SDK。 图6 HarmonyOS Demo首界面 登录 账号密码登录:点击“登录”按钮进入“登录页面”,进行AppId登录。 图7 HarmonyOS Demo登录界面 AppID登录 App ID申请步骤请参考“App ID鉴权介绍”。申请审批完成后将获得一个App ID。 方法一:直接在代码中修改默认值, 将 SdkConfigManager.ets中的AppId、AppKey替换为申请到的App ID、AppKey。 点击“创建会议”按钮,进入创建会议界面,创建会议。 图8 HarmmonyOS Demo会议界面 图9 HarmmonyOS Demo创建会议界面 图10 HarmonyOS Demo会中界面
  • 环境要求 在HarmonyOS Demo的编译运行过程中请满足如下环境要求。 表1 环境要求 环境和工具名称 版本要求 说明 操作系统 HarmonyOS 5.0.1 Release(Build Version: 5.0.0.123)及以上 详见HarmonyOS官网版本说明。 HarmonyOS SDK HarmonyOS 5.0.1 Release SDK(API 13 Release)及以上 - DevEco Studio DevEco Studio 5.0.1(Build Version: 5.0.5.315)及以上 - 测试资源及App ID申请 - 请参见“开发前准备”。
  • 100.12.5更新内容 1. 新增接受会议邀请接口(仅win支持)、拒绝会议邀请接口(仅win支持),具体详见接受会议邀请、拒绝会议邀请。 2. 新增本地录制状态更新通知(仅Mac支持),具体详见本地录制状态通知。 3. 发起立即会议接口新增参数是否来宾免密isGuestJoinConfWithoutPwd、允许入会范围限制confAllowJoinUser,具体详见发起立即会议。 父主题: 版本更新内容
  • RejectConf 接口描述 该接口用于拒绝会议邀请。 注意事项 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode RejectConf(); 回调函数 1 virtual void OnRejectConfResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 无。 返回值 表1 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 91011 /*** 拒绝会议邀请*/void demoRejectConfDlg::OnBnClickedButtonRejectConf(){ int ret = hwmsdkagent::RejectConf(); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("RejectConf error")); }}
  • 会中水印定制 接口描述 该接口用于屏幕共享设置水印。该水印是在接收端叠加到共享内容上的。服务器上配置后才会显示水印。 1、在桌面共享的接收端叠加水印图片,只有服务器上会中水印打开的情况下自定义水印才生效。如果不自定义,默认按照手机号、邮箱、会议ID+昵称优先级顺序显示,字体透明度10%。 使用场景 图1 会中水印 注意事项 必须调用setSecurityHandler设置,定制才会生效。 方法定义 1 watermarkString?: string; 参数描述 类型 描述 string 自定义水印。 父主题: 安全定制
  • 示例代码 1 2 3 4 5 6 7 8 91011 /// 初始化const initConfig: HWMSDKConfig = { appId: this.getAppId(), meetingAbilityName: this.getMeetingAbilityName(), launchMode: HWMLaunchMode.SINGLE_ABILITY, navigationId: this.getNavigationId(),};const result: SDKERR = UISDK.getConfigApi().init(initConfig, this.getContext());if (result === SDKERR.HWM_SDKERR_SUCCESS) { console.log('初始化成功');} 典型场景和接口参考中的示例代码仅作为示例用的伪代码,不能直接使用。
  • 3类接口描述 SDK的接口分为同步接口、异步接口、 消息通知 。 同步接口:App主动调用SDK的接口,用于完成某项任务。比如初始化接口init。 异步接口:App主动调用接口和SDK内部任务处理采用异步处理方式,在SDK某项任务处理完成后,以接口回调的方式通知App。比如创建会议接口,入参包含创会需要的参数,创会的结果通过Promise返回。 消息通知:由华为云会议服务端触发或SDK内部触发的事件通知,调用对应的订阅接口后,SDK以消息通知接口的形式通知给App。当前SDK按模块订阅通知。比如订阅会议事件setMeetingEventNotify。
  • setServerConfigWithUrl:port: 接口描述 该接口用于设置登录服务器信息。 注意事项 该接口非必需调用,若不设置,则使用默认登录服务器地址和端口。 方法定义 1 + (void)setServerConfigWithUrl:(NSString *)url port:(NSInteger)port; 参数描述 表1 参数说明 参数 是否必须 类型 描述 url 是 NSString * 服务器地址,默认meeting.huaweicloud.com。 port 是 NSInteger 服务器端口,默认443。 返回值 无 示例代码 [HWMSdk setServerConfigWithUrl:serverAddress port:serverPort];
  • setScreenSharingPermissionEnabled 接口描述 该接口用于设置共享权限。 方法定义 setScreenSharingPermissionEnabled(enable: boolean): void; 参数描述 参数 是否必须 类型 描述 enable 是 boolean 是否允许。 返回值 无 示例代码 123456 /*** 设置共享权限*/handleSetShareScreenPermission(): void { UISDK.getConfCtrlApi().setScreenSharingPermissionEnabled(true);}
  • 示例代码 1 2 3 4 5 6 7 8 9101112131415161718192021222324 /*** 登录处理*/int demoLoginDlg::Login(){ int ret; //设置App ID登录参数 /** *.此处省略第三方服务器做的数据转换,最后获取到nonce和signature */ strncpy_s(loginParam.appIdAuthInfo.thirdUserId, GetUserId.c_str(), HWM_MAX_USER_ID_LEN); strncpy_s(loginParam.appIdAuthInfo.userName, GetUserName.c_str(), HWM_MAX_USER_NAME_LEN); strncpy_s(loginParam.appIdAuthInfo.signature, GetSignature().c_str(), HWM_MAX_SIGNATURE_LEN); strncpy_s(loginParam.appIdAuthInfo.nonce, GetNonce().c_str(), HWM_APPID_NONCE_LEN ); strncpy_s(loginParam.appIdAuthInfo.email, GetEmail.c_str(), HWM_MAX_EMAIL_LEN); strncpy_s(loginParam.appIdAuthInfo.phoneNumber, GetPhoneNumber.c_str(), HWM_MAX_PHONE_NUM_LEN); loginParam.appIdAuthInfo.expireTime = 1598398920; // utc时间,单位s loginParam.authType = hwmsdkagent::HWM_AUTH_TYPE_APPID; //调用登录接口 ret = hwmsdkagent::Login(&loginParam); return ret;} 1 2 3 4 5 6 7 8 91011 /*** 登录接口回调*/void demoCallbackProc::OnLoginResult(hwmsdk::HwmErrCode ret, const char* msg){ CS tring codeStr; codeStr.Format(_T("%d"), ret); string msgStr = CTools::UTF82MultiByte(msg); CString tips = _T("OnLoginResult code:") + codeStr + _T(", msg:") + CString(msgStr.c_str()); AfxMessageBox(tips);}
  • AcceptConf 接口描述 该接口用于接受会议邀请。 注意事项 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode AcceptConf(const HwmAcceptConfParam *acceptConfParam); 回调函数 1 virtual void OnAcceptConfResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 无。 返回值 表1 结构体HwmAcceptConfParam参数说明 参数 是否必须 类型 描述 isAudioAccept 否 bool 是否语音接听(仅立即视频会议支持)。 表2 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 910111213 /*** 接受会议邀请*/void demoAcceptConfDlg::OnBnClickedButtonAcceptConf(){ hwmsdkagent::HwmAcceptConfParam info{}; info.isAudioAccept = false; int ret = hwmsdkagent::AcceptConf(&info); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("AcceptConf error")); }}
  • 示例代码 1 2 3 4 5 6 7 8 91011 /*** 配置邀请按钮*/int hwmSDKConfigUI::hwmSDKStartUIConfig(){ //配置“邀请”按钮 CString inviteBtn = ("{\"frame\":{\"confMenu\" : {\"toolBar\":{\"button\":[{\"id\":\"invite\",\"showAsAction\" : \"ifRoom\",\"isCustomizedClick\" : true}]}}}}"); string uiConfig CTools::UNICODE2UTF(inviteBtn); ret = hwmsdkagent::Config(uiConfig); return ret;} 1 2 3 4 5 6 7 8 91011 /*** 配置接口回调*/void demoCallbackProc::OnConfigResult(hwmsdk::HwmErrCode ret, const char* msg){ CString codeStr; codeStr.Format(_T("%d"), ret); string msgStr = CTools::UTF82MultiByte(msg); CString tips = _T("OnConfigResult code:") + codeStr + _T(", msg:") + CString(msgStr.c_str()); AfxMessageBox(tips);} 1 2 3 4 5 6 7 8 910111213141516 /*** 按钮点击消息通知*/void notifyProc::OnClickInjectBtn(hwmsdkagent::HwmClickInjectBtn injectBtn, void* data, const char* id) { INT_PTR nRes; switch (injectBtn) // “邀请”按钮点击消息通知 case hwmsdkagent::HWM_CLICK_INJECT_BTN_INVITE: { // 显示带通讯录的邀请与会人界面 hwm_ui_demo_inviteDlg inviteDlg; nRes = inviteDlg.DoModal(); break; } }
  • 参数描述 类型 描述 HWMIncomingAnswerType 来电接听设置。 表1 枚举HWMIncomingAnswerType说明 枚举值 描述 HWMIncomingAnswerNormal 默认体验,弹出来电界面。 HWMIncomingAnswerAutoDecline 自动拒接。 HWMIncomingAnswerAutoAnswer 自动接听。 HWMIncomingAnswerCustom 自定义UI。
  • 业务流程 SDK初始化时,先修改HwmSdk文件夹下HwmSdk.exe文件的名称,再调用Init接口,然后处理回调函数OnInitResult。 修改exe文件名称 修改HwmSdk文件夹下HwmSdk.exe文件名称为MySdk.exe。 接口调用 构建数据结构HwmInitInfo。 定义派生类demoNotifyProc继承于基类HwmAgentNotify,新建派生类对象。 1 static demoNotifyProc *notifyObj = new demoNotifyProc(); 定义派生类demoCallbackProc继承于基类HwmAgentCallback,新建派生类对象。 1 static demoCallbackProc *callbackObj = new demoCallbackProc(); 构建其他变量。 调用Init接口,完成配置初始化,第1步中的数据作为参数。 处理回调函数 处理回调函数OnInitResult。
  • 业务流程 使用SDK实现“邀请”功能时,在SDK初始化完成后先调用Config接口,然后处理回调函数OnConfigResult。会议中,在“邀请”按钮单击后,再处理消息通知OnClickInjectBtn。 接口调用 在SDK初始化后,调用Config进行“邀请”按钮的定制。 处理回调函数 处理回调函数OnConfigResult。 处理消息通知 当“邀请”按钮单击后,再处理消息通知OnClickInjectBtn
  • 示例代码 1 2 3 4 5 6 7 8 91011 /*** 退出sdk*/void CdemoBeforeLoginDlg::OnBnClickedButtonExit(){ int ret = hwmsdkagent::Exit(); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("Exit error")); }}
  • 参数描述 参数 类型 描述 reason KickoutReason 被踢原因。 reasonDesc string 错误描述。 表1 枚举KickoutReason说明 枚举值 描述 HWM_KICKOUT_BY_ LOG IN_ELSEWHERE 在其他终端上登录。 HWM_KICKOUT_BY_ACCOUNT_STOP_USE 账号被服务端停止使用。 HWM_KICKOUT_BY_ACCOUNT_EXPIRED 账号过期。 HWM_KICKOUT_BY_MODIFIED_PASSWORD Portal修改密码。
  • 参数描述 参数 类型 描述 meetingInfo HWMMeetingInfoModel 会中信息。 表1 HWMMeetingInfoModel参数说明 参数名称 参数类型 参数说明 baseInfo HWMConfBaseInfoModel 会议基本信息 orgId string 企业id supportGuestInviteAttendee boolean 是否支持来宾外邀 表2 HWMConfBaseInfoModel参数说明 参数名称 参数类型 参数说明 confId string 会议id,加入会议时用到。如果是VMR会议,则此ID是真实会议ID,不用来显示;如果不是VMR会议,则用来显示。 vmrConfId string VMR 会议id,VMR会议下有效。 confSubject string 会议主题。 startTimeStamp number 会议开始时间(时间戳,单位秒)。 endTimeStamp number 会议结束时间(时间戳,单位秒)。 timeZone string 时区。 hostPwd string 会议主持人密码。 guestPwd string 会议来宾密码。 scheduserUuid string 预订者uuid。 scheduserName string 预订者姓名。 hostJoinUri string 主持人入会链接。 guestJoinUri string 来宾加入会议的链接。 selfConfRole ConfRole 本人在会议中的角色。主持人、普通与会者等。 isCreator boolean 是否是会议预订者。 conferenceType ConferenceType 会议类型。 confUuid string 会议uuid。 openCustomPara string 自定义扩展信息。 isHighResolution boolean 是否为超高清(1080p)会议。 isP2PConf boolean 是否立即会议。 表3 枚举ConferenceType说明 枚举值 描述 HWM_CONF_TYPE_COMMON 普通会议。 HWM_ROLE_HOHWM_CONF_TYPE_CYCLEST 周期会议。
  • 示例代码 1234567 /*** 取消会议接口*/int demoConfListDlg::OnBnCancelConf(hwmsdk::HwmErrCode ret, const char* msg){ return hwmsdkagent::CancelConf(GetConfId());} 1 2 3 4 5 6 7 8 91011 /*** 取消会议接口回调*/void demoCallbackProc::OnCancelConfResult(hwmsdk::HwmErrCode ret, const char* msg){ CString codeStr; codeStr.Format(_T("%d"), ret); string msgStr = CTools::UTF82MultiByte(msg); CString tips = _T("OnCancelConfResult code:") + codeStr + _T(", msg:") + CString(msgStr.c_str()); AfxMessageBox(tips);} OnConfList事件通知跟预约会议场景相同,请参考预约会议的示例代码。
  • 100.12.5更新内容 1. 新增本地录制状态更新通知onSelfLocalRecordStateNotify,具体请见本地录制状态更新通知。 2. 发起立即会议接口新增参数是否来宾免密isGuestJoinConfWithoutPwd、允许入会范围限制confAllowJoinUser,具体请见HWMUISDKStartCallInfoModel参数说明。 3. 问题修复,体验更稳定。 父主题: 版本更新内容
  • Logout 接口描述 该接口用于退出已登录的华为云会议账号。 注意事项 请在已登录的场景下调用。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode Logout(); 回调函数 1 virtual void OnLogoutResult(hwmsdk::HwmErrCode ret, const char* reason, const HwmLogoutResult* logoutResult) {}; 参数描述 无。 返回值 表1 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 HwmLogoutResult 登出结果信息。 表2 结构体HwmLogoutResult参数说明 参数 类型 描述 userUuid char[] UUID(由系统分配的真实的唯一用户标识)。 account char[] 账号。 thirdAccount char[] 第三方账号。 示例代码 1 2 3 4 5 6 7 8 9101112 /*** 退出登录*/void demoMainMenuDlg::OnBnClickedLogout(){ //调用退出登录接口 int ret = hwmsdkagent::Logout(); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("Logout error")); }}
  • Login 接口描述 该接口用于登录。登录分为华为云会议账户登录和AppID登录,由authType参数决定。 注意事项 创建会议,被邀入会等功能只有在登录后才能使用,若不登录,将无法体验完整会议功能。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode Login(HwmLoginInfo *loginInfo);
  • 3类接口描述 Windows SDK的接口分为主动调用接口、回调接口、消息通知接口。 主动调用接口:App主动调用SDK的接口,用于完成某项任务。比如初始化接口Init。 回调接口:由于主动调用接口和SDK内部任务处理采用异步处理方式,所有SDK某项任务处理完成后,以回调接口的方式通知App。比如初始化结果回调接口OnInitResult。 消息通知接口:由华为云会议服务端触发或SDK内部触发的事件通知,SDK以消息通知接口的形式通知给App。比如会议来电通知OnConfIncoming。
  • 典型场景接口的调用顺序及生命周期 图1 典型场景接口调用时序图 1、一般应用升级前需要结束进程,为了便于升级管理,初始化之前请修改HwmSdk文件夹下HwmSdk.exe文件的名称为用户自己的名称。 2、登录不是必须的步骤,在不登录的情况下也能通过会议ID和密码加入已经创建好的会议。 3、开启共享、结束共享、离开会议、结束会议等接口,当前SDK的UI上已经提供了对应的功能,如果第三方的App不需要程序控制这些功能则无需调用对应接口。 4、设置会场名(RenameSelf)接口在会议前和会议中都可以调用。 5、会议开始后,OnConfInfo会上报多次。
  • 业务流程 调用BookConf接口预约会议,然后处理回调函数OnBookConfResult和OnConfList通知。 若要预约个人会议ID的会议或者云会议室的会议,则需要先调用GetVmrList接口查询个人会议ID和云会议室信息,然后处理回调函数OnGetVmrList返回的数据,该数据可用于预约会议。 接口调用 组装数据结构HwmBookConfParam(包含结构内的 HwmAttendeeInfo)。 调用BookConf开始创建预约会议,第1步中的数据作为参数。 处理回调函数 处理回调函数OnBookConfResult。 处理消息通知 处理消息通知OnConfList。
共100000条
提示

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