集成 SDK(H5)

更新时间: 2023/06/29 03:39:26

本文介绍在 H5 页面集成会议组件 NEMeetingKit。

前提条件

在开始运行示例项目之前,请确保您已完成以下操作:

开发环境

在客户端实现音视频会议功能之前,请您准备以下开发环境:

环境类型 具体要求

浏览器

  • 移动版 Chrome:74 及以上版本
  • 移动版 Safari:13 及以上版本 iOS 13.0 ~ 14.3 的系统版本,仅支持播放远端音视频,本端的音视频流无法发送。
Node 8 及以上版本

注意事项

  • 请使用 https 协议访问会议组件的 Domain。
  • 不建议通过 require 方式引入 SDK,可能存在选择设备无效等问题。

方式1:通过 script 标签引入 SDK

配置步骤

  1. 在本地文件夹中创建会议组件的项目文件夹,并将解压后的会议组件 SDK 拷贝到项目文件夹中。文件目录类似如下:

    ├── index.html
    ├── NEMeetingKit_V3.x.x.js 
    
  2. 将如下代码添加到 index.html 页面的body底部 中。

    <script src="./NEMeetingKit_V3.x.x.js"></script>//将文件路径替换为会议组件在本地的相对路径,版本号请替换为对应的版本号
    
  3. 在页面添加 ID 为ne-web-meeting的元素(用于挂载会议组件)。

    <div id="ne-web-meeting"></div>
    

    该 ID 为固定值,请不要修改。

  4. 初始化会议组件。

    NEMeetingKit.actions.init(800, 800, config, (e) => {
        // 初始化完成回调
    });
    

示例代码

html<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
  <div id="ne-web-meeting"></div>
  <script src="./NEMeetingKit_1.0.0.umd.js"></script> //将文件路径替换为会议组件在本地的相对路径,版本号请替换为对应的版本号
  <script>
    /* 初始化
        * @param width:宽度(px),为0则表示100%
        * @param height:高度(px),为0则表示100%
        * @param config:入会配置
        * @param callback: 回调
    */
    function init() {
        const config = {
            appKey: "", //云信服务appkey
        };
        NEMeetingKit.actions.init(0, 0, config, () => {
            console.log('init回调')

            // 检测浏览器兼容性
            NEMeetingKit.actions.checkSystemRequirements(
                function (err, result) {
                    let str = ''
                    if (err) {
                        str = err
                    } else {
                        str = result ? "支持" : "不支持"
                    }
                    console.log('浏览器兼容性检测结果:', str)
                }
            )

            // 事件监听
            NEMeetingKit.actions.on("peerJoin", (members) => {
                console.log("成员加入回调", members);
            });
            NEMeetingKit.actions.on("peerLeave", (uuids) => {
                console.log("成员离开回调", uuids);
            });
            NEMeetingKit.actions.on("roomEnded", (reason) => {
                console.log("房间被关闭", reason);
            });

        });

        // 获取会议相关信息
        const MeetingInfo = NEMeetingKit.actions.NEMeetingInfo // 会议基本信息
        const memberInfo = NEMeetingKit.actions.memberInfo // 当前成员信息
        const joinMemberInfo = NEMeetingKit.actions.joinMemberInfo // 入会成员信息
    }
    // token登录
    NEMeetingKit.actions.login({
            accountId: accountId, // 账号
            accountToken: accountToken, // token
        },
        function (e) {
            console.log('login回调', e)
        }
    );

    // 加入会议,需要先进行token登录
    NEMeetingKit.actions.join({
            meetingId: 'meetingId', // 会议号
            nickName: 'nickName', // 会中昵称
            video: 2, // 视频开关,1为打开2为关闭
            audio: 2, // 音频开关,1为打开2为关闭
        },
        function (e) {
            console.log('加入会议回调', e);
        }
    );

    // 登出
    NEMeetingKit.actions.logout(
        function (e) {
            console.log('logout回调', e)
        }
    )


    // 取消监听
    NEMeetingKit.actions.off("peerJoin")
    NEMeetingKit.actions.off("peerLeave")
    NEMeetingKit.actions.off("roomEnded")

    // 销毁sdk
    NEMeetingKit.actions.destroy(); // 销毁
  </script>
</body>
</html>

方式2:通过 npm包集成

  1. 在项目中安装依赖。

    shnpm install nemeeting-web-sdk --save
    
  2. 在对应的js文件中引入。

    jsimport NEMeetingKit from 'nemeeting-web-sdk'
    
此文档是否对你有帮助?
有帮助
去反馈
  • 前提条件
  • 开发环境
  • 注意事项
  • 方式1:通过 script 标签引入 SDK
  • 配置步骤
  • 示例代码
  • 方式2:通过 npm包集成