ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基于华为云会议SDK 24行代码打造企业专属会议室

2022-04-05 20:04:35  阅读:176  来源: 互联网

标签:24 会议 HWM 接口 华为 meeting SDK


华为已经有着超过20年的视频会议产品研发经验,拥有1000多项视频会议、音视频相关的国际和国内专利技术。华为云会议基于全开放的产品定位,将华为云会议的所有产品能力都开放给伙伴,伙伴可以通过集成华为云会议SDK,拥有与华为同等的音视频会议产品能力,然后在自己擅长的领域进行广泛应用,满足教育、医疗、政府、金融、交通等各行业的需求。

本文介绍下如何通过仅24行代码,就将华为近30年音视频领域探索的结晶集成到您自己的应用中。

华为云会议.png

华为云会议开发性初了解:

华为云会议从服务端和终端两个方面开放了接口。服务端已REST API的方式开放,终端以SDK的方式开放。

华为云会议.png

华为云会议当前已经提供16类150个左右的接口,涵盖了会议管理、会议控制、云会议室管理、企业管理、用户管理、终端管理等会议业务涉及的方方面面。基于这些REST API您可以将华为云会议的调度管理能力集成到自己的业务系统中。

这些REST API都是无状态的接口,不涉及到复杂的接口组合的问题,可以根据自己的业务需要选择对应接口调用即可。接口的详细说明请参考华为云会议帮助中心上的《服务端API参考》(https://support.huaweicloud.com/api-meeting/meeting_21_0202.html)。

在华为云的API Explorer

https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=Meeting)上可以直接调试这些REST API,不再需要使用postman或者CURL命令。

华为云会议.png

为了进一步简化后台在Java和Python中调用这些接口的实现难度,我们还对这些API接口封装了Java和Python的函数接口,可以从华为云SDK中心(https://sdkcenter.developer.huaweicloud.com/)下载华为云会议的服务端SDK。

华为云会议.png

本文余下章节主要介绍华为云会议终端侧的SDK。

华为云会议终端SDK介绍

会议终端侧由于要涉及用户界面、终端外设、音视频媒体、会议流程等很多方面,集成难度上与服务端集成相比要复杂不少。

华为云会议的终端SDK将处理最复杂的音视频媒体、外设管理全部封装起来,为您提供了带会议UI控件的SDK,您也不用关注具体的会议流程。只需要调用大约30行代码调用10个接口即可完成华为云会议终端音视频能力的集成。

华为云会议提供Android、iOS和Windows平台的终端SDK,Mac平台的SDK也即将发布。SDK的详细介绍请参考华为云会议帮助中心上的《客户端SDK参考》(https://support.huaweicloud.com/sdkreference-meeting/meeting_22_0001.html)。

终端SDK提供的能力包括:

1、 视频会议

华为云会议.png

2、 数据共享

华为云会议.png

3、 点对点通话

华为云会议.png

华为云会议终端SDK在简化开发难度的基础上,兼顾了灵活性。会议终端按钮和菜单可以自定义;联系人也可以自定义。

华为云会议.png

华为云会议.png

华为云会议.png

基于华为云会议SDK的开发流程介绍

华为云会议.png

开发流程介绍:

步骤1:创建企业。需要有华为云会议企业管理员帐号后,才能进行二次开发。参考《开发指南》中的“开发前准备”(https://support.huaweicloud.com/devg-meeting/meeting_20_0002.html)。

步骤2:下载SDK。下载地址:https://support.huaweicloud.com/sdkreference-meeting/meeting_22_0002.html

步骤3:学习《客户端SDK参考》。学习地址:https://support.huaweicloud.com/sdkreference-meeting/meeting_22_0001.html

步骤4:根据接口文档将SDK集成到您自己的App中。

步骤5:调试。

步骤6:发布。

如何基于华为云会议Windows SDK开发一个自己的会议客户端?

下面以Windows平台的终端SDK为例,说明如何将华为云会议的终端侧能力集成到您自己的App中。

华为云会议.png

1****、初始化示例代码

hwmsdkagent::HwmInitInfo initParam;

strncpy_s(initParam.appId, "hwm_ui_demo", HWM_MAX_APPID_LEN);

strncpy_s(initParam.exePath, "D:\demo\SDK", HWM_MAX_FILE_PATH_LEN);

initParam.notify = notifyObj;

initParam.callback = callbackObj;

//调用初始化接口

int ret = hwmsdkagent::Init(&initParam);

//初始化回调函数
{
//初始化成功后的处理
}

2****、登录示例代码

hwmsdkagent::HwmLoginInfo loginParam;
strncpy_s(loginParam.accountAndPasswordAuthInfo.account, "139571854984

", HWM_MAX_ACCOUNT_LEN);
strncpy_s(loginParam.accountAndPasswordAuthInfo.password, "Change_Me"

, HWM_MAX_PASSWORD_LEN);
loginParam.authType = hwmsdkagent::HWM_AUTH_TYPE_ACCOUNT_AND_PASSWORD;
//调用登录接口
int ret = hwmsdkagent::Login(&loginParam);

//登录回调函数
void demoCallbackProc::OnLoginResult(hwmsdk::HwmErrCode ret, const char* msg)
{
//登录成功后的处理
}

3****、创建会议例代码
hwmsdkagent::HwmCreateConfInfo data;

//设置会议主题
strncpy_s(data.subject, CTools::UNICODE2UTF(CString("我的会议")), HWM_MAX_SUBJECT_LEN);

//设置会议类型
data.mediaType = hwmsdkagent::HWM_VIDEO_AND_DATA
//设置会议是否需要来宾密码
data.needPassword = true;
//调用创会接口
int ret = hwmsdkagent::CreateConf(&data, NULL, 0);

//创会回调函数
void demoCallbackProc::OnCreateConfResult(hwmsdk::HwmErrCode ret, const char* msg)
{
//创会成功后的处理
}

//会议状态通知
void demoNotifyProc::OnConfInfo(HwmConfInfo *confInfo)

{
    //根据会议状态处理自己的业务逻辑
}

创建会议成功后,创会者自动就加入会议了。

4****、加入会议例代码
strncpy_s(data.confId,"989156631", HWM_MAX_CONF_ID_LEN);
strncpy_s(data.password, "807766", HWM_MAX_PASSWORD_LEN);
strncpy_s(data.name, CTools::UNICODE2UTF(CString("杭州会场")), HWM_MAX_DISPLAY_NAME_LEN);
int ret = hwmsdkagent::JoinConfById(&data);

//入会回调函数
void demoCallbackProc::OnJoinConfByIdResult(hwmsdk::HwmErrCode ret, const char* msg)
{
//入会成功后的处理
}

调用上述4个接口,并处理6个回调函数,大约30行左右的代码(不含App本身的业务代码和非会中界面代码),即可集成华为云会议的Windows SDK。

登录界面(仅Demo,实际由您的App提供):

华为云会议.png

创建会议和加入会议界面(仅Demo,实际由您的App提供):

华为云会议.png

会中界面(SDK提供):

华为云会议.png

通过本文,你是否对华为云会议开放性有了一定了解呢?

本文由华为云发布。

标签:24,会议,HWM,接口,华为,meeting,SDK
来源: https://www.cnblogs.com/huaweicloud/p/16103597.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有