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)
              })