1.0.23 • Published 4 years ago

miniprogram-ar-meet v1.0.23

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

实时视频会议小程序SDK

集成实时视频会议小程序SDK为小程序应用提供多人音视频通话能力,可实现一对一单聊和多人群聊,可运用于 社交、会议、在线教育、培训等场景。基于webRTC技术的超低延时音视频通讯解决方案 。几行代码就可赋予小程序实时音视频的能力。

DEMO源码

获取源码

准备工作

在开始集成SDK之前,我们需要对小程序以及项目进行一些配置,大致分为:微信公众平台设置,小程序项目配置。

微信公众平台设置

小程序项目配置

说明

设置小程序服务类别

设置小程序服务类别

设置小程序服务类别

image-20191121143725728

微信小程序基础库需要大于1.7.0,低版本需做兼容处理。

  • 真机调试

    开发者工具模拟器除特殊版本之外,不支持实时音视频功能,请使用真机调试。

  • live-player 和 live-pusher 组件

    分别把 live-player 组件和 live-pusher 组件的 mode 属性设置为 RTC。如果需要开关摄像头或禁用麦克风,请参考 推流API拉流API

快速集成

  1. 安装 SDK
npm install --save miniprogram-ar-meet
  1. 导入SDK
//导入SDK

import wxRTMeet from "miniprogram-ar-meet";
  1. 会议初始化
//导入SDK
import wxRTMeet from "miniprogram-ar-meet";

//创建实例
let wxmeet = new wxRTMeet();
that.setData({
  wxmeet: wxmeet
});

//设置用户验证token(用于第三方认证,没有可以跳过)
wxmeet.setUserToken("");
//配置开发者应用信息
wxmeet.initAppInfo(config.APP_ID, config.APP_TOKEN);
  1. 加入房间
let roomId = "123";
let userId = "6666";
let userName = "SuperMan";
let userData = JSON.stringify({ userId, userName });

//加入房间
wxmeet.joinRoom(roomId, userId, userName, userData, that.data.enableVideo, that.data.enableAudio);

//加入房间成功回调 - 监听一次即可
wxmeet.on("onJoinRoomOK", () => {
  wx.showToast({
    title: '加入房间成功',
  });
});

//加入房间失败回调
wxmeet.on("onJoinRoomFaild", (code, info) => {
  console.log("加入房间失败:", code, info ? info : "");
});
  1. 收到推流地址
//收到推流URL回调,将URL绑定到live-pusher组件中,其他人将收到自己的视频
wxmeet.on("onGetPushUrl", (code, data) => {
  console.log('onGetPushUrl', code, data);
  if (code === 0) {//成功
    that.setData({
      pushURL: data.pushURL
    });
  } else {
    wx.showToast({
      icon: 'none',
      title: '获取房间签名失败',
    });
  }
});
  1. 退出房间
wxmeet.leaveRoom();

API说明

1. 设置第三方userToken验证

示例

wxmeet.setUserToken();

参数

参数名类型描述
userTokenString如果配置了第三方授权认证,SDK登录服务器的时候会将userToken发送到授权服务器,如果授权成功才能登录成功。

2.初始化开发者信息

示例

wxmeet.initAppInfo(config.APP_ID, config.APP_TOKEN);
参数名类型描述
appIdString应用ID
apptokenString应用token

3.加入房间

示例

wxmeet.joinRoom(roomId, userId, userName, userData, enableVideo, enableAudio);
参数名类型描述
roomIdString房间ID
userIdString用户ID
userNameString用户昵称
userDataString用户自定义信息
enableVideoBoolean是否开启摄像头
enableAudioBoolean是否开启麦克风

4.加入房间成功回调

示例

wxmeet.on("onJoinRoomOK", () => {
	console.log("加入房间成功");
});

5.加入房间失败回调

示例

wxmeet.on("onJoinRoomFaild", (code, info) => {
	console.log("onJoinRoomFaild", code, info);
});

参数

参数名类型描述
codeNumber错误码
infoString|Object错误信息

6.远程人员加入房间

示例

wxmeet.on("onMemberJoin", (rtmpUrl, pubId, userId, rtcUserData) => {
	console.log("onMemberJoin", rtmpUrl, pubId, userId, rtcUserData);
});

参数

参数名类型描述
rtmpUrlString远程人员的视频流,使用 live-player 组件进行播放
pubIdString媒体流标识ID
userIdString远程人员用户ID
rtcUserDataString远程人员自定义用户数据

7.远程人员离开房间

示例

wxmeet.on("onMemberLeave", (pubId) => {
	console.log("onMemberLeave", pubId);
});

8.获取推流地址成功

示例

wxmeet.on("onGetPushUrl", (code, data) => {
	console.log("onGetPushUrl", code, data);
});

参数

参数名类型描述
codeNumber获取推流地址错误码
dataObject获取推流地址信息,解析之后将获取到的 pushURL 放到推流组件 live-pusher 中进行推流

9.被踢出会议回调

示例

wxmeet.on("onLeaveMeet", (code, info) => {
	console.log("onLeaveMeet", code, info);
});

参数

参数名类型描述
codeNumber被踢出会议的错误码
infoObject被踢出会议的原因信息
1.0.23

4 years ago

1.0.22

4 years ago

1.0.21

5 years ago

1.0.20

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.16

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago