SDK开发包
-
-
HarmanyOS客户端 SDK
立即下载
快速上手
前提条件
- DevEco Studio 5.1.0 Release 或以上版本
- 支持最低系统版本为:5.0.2(14)
创建项目并引入SDK
创建HarmonyOS项目
- 打开DevEco Studio 并点击Create a new project。
- 输入项目名称(Product Name)、API版本(Compatible SDK)、设备类型(Device Type)Phone等项目信息,并点击Finish。
获取SDK
1.SDK接口以har形式提供
导入SDK
- 找到meetingsdk.har包,导入程序中
在oh-package.json5中,添加dependencies (目前只支持本地依赖方式) "dependencies": { "meetingsdk":"file:../meetingsdk" }
使用SDK
初始化SDK
getInstance();
设置运行环境
setEvnOnline(isOnline: boolean);//初始化云会议系统的环境,默认为:Online 如果需要切换到Beta环境,请调⽤此API
加入会议
joinConfrenceWithReq(uiContext: UIContext, pathStack: NavPathStack, req: MeetingReq,
completion: (success: boolean, error: ErrorDomain | null) => void) ;//uiContext ui上下文用于相关弹出提示;pathStack任务栈界面跳转;MeetingReq 为参数,其中name和pcode必传,详细请参见:MeetingReq;completion 结果回调
监听会议状态
setMeetingStatusBlock(block: (meetingStatus: QSMeetingStatus, error: ErrorDomain | null) => void) ;//用于监听会议状态 ,meetingStatus 会议状态回调
定制化会议服务
setCasDomain(casDomain: string, completion: (success: boolean, error: ErrorDomain | null) => void) ;//用于定制化会议服务 ,casDomain:服务域名;completion 结果回调
自定义
-
/// 是否跳过等待界面 /// 默认关;Deafult: false /// isJumpJoin: Number; /// /// 入会是否开启音频 /// 默认开;Deafult: true /// isShowAudio : Number; /// /// 入会是否开启视频预览 /// 默认开;Deafult: true /// isShowVideo : Number; /// /// 使用链接入会 /// 默认关;Deafult: false /// useJoinLink : Number;
运行结果
入会预览页面
预览页面可以打开关闭摄像头,翻转前后摄像头,开启关闭入会语音等操作
会中页面
可以设置会议相关的会议控制,如静音,视频,查看参会列表,退会等等操作
调用实例
//使用密码入会
this.code = '887-444-482-582'
//使用链接入会
// this.code = 'https://n.qsh1.cn/d/auG8PQY7nKH'
const paramReq: MeetingReq = new MeetingReq()
paramReq.isShowAudio = true; //默认打开音频voip
paramReq.isShowVideo = true; //默认开启视频
paramReq.isJumpJoin = false; //是否跳过预览
paramReq.name = "hm sdk" // 名称
// paramReq.userId = 22465942; //用户id,不传默认为访客
if (this.isLinkJoinMeeitng) {
paramReq.pcode = this.code;
paramReq.useJoinLink = true; //标记使用链接入会
} else {
paramReq.pcode = this.code.replace(/-/g, "");
console.log('pcode', paramReq.pcode)
paramReq.useJoinLink = false;
}
//开始入会
// TangInterface.getInstance()
// .setCasDomain("https://newcas.quanshi.com", (success: boolean, error: ErrorDomain | null) => {
// if (success) {
TangInterface.getInstance()
.joinConfrenceWithReq(this.getUIContext(), this.pathStack, paramReq,
(success: boolean, error: ErrorDomain | null) => {
logWithTag('demo', '', 'joinConfrenceWithReq ', success, 'error:', error ? error.code : -1)
PromptActionClass.closeCustomDialogById('loading')
if (error || !success) {
return
}
});
//监听会议状态监听
TangInterface.getInstance()
.setMeetingStatusBlock((meetingStatus: QSMeetingStatus, error: ErrorDomain | null) => {
logWithTag('demo', '', 'meetingStatus :', meetingStatus)
})