视音频通信

产品文档

视音频通信

帮助中心 > 产品文档 > 视音频通信 > 微信小程序 JRTC SDK快速集成

JRTC Miniapp SDK for Wechat 是一个全新的SDK,能支持微信小程序实现如下功能:

  • 音频通话
  • 音频直播

结合微信小程序,能实现如下场景:

  • 线上课堂:1 对 1 及 1 对多线上小班课,老师、学生实时互动
  • 在线客服:为客户提供在线服务,1 对 1 实时交流
  • 在线会议:1 对 1 及 1 对多线上会议,嘉宾与观众实时互动

前提条件

在执行Demo步骤之前,您需要从控制台获取鉴权信息,具体操作请参见生成Token。 您需要下载示例代码,详情请参见SDK下载

操作步骤

1.集成SDK。

JRTC Miniapp SDK存放于demo中根目录下lib文件夹内,可根据自身项目构建需求,调整JRTC Miniapp SDK存放位置。

import JRTCMiniappClient from '../lib/jrtc-miniapp.min'

2.初始化SDK。

const jrtcMiniapp = JRTCMiniappClient.init({ appId, pushDomain,  pullDomain });

说明 appId 为应用ID,从控制台获取

3.加入房间。进入房间成功, 会返回一个ROOM对象: JRTCMiniAppRoom。

jrtcMiniapp.joinRoom({
 appId, // 应用ID,从控制台获取
 token, // 用户生成token,生成方式参见XXXX获取
 userId, // 用户ID
 role, // 用户角色
 nonce, // 令牌随机码,用户生成
 timestamp, // 令牌过期时间,用户生成
 userRoomId, // 用户房间ID
 peerId, // 会议平台的用户ID,选填
 nickName // 昵称,选填
}).then(res => {
 // 成功加入房间
}).catch(err => {
 // 加入房间失败,打印错误日志,可以查看失败原因
 console.log(err);
});

4.设置用户角色。

  • 该方法设置用户角色。小程序端的用户角色默认为观众,因此在同时满足以下条件的使用场景中,必须调用该接口将小程序端的用户角色设置为主播再进入频道。参数roleType为用户角色类型:1 - 主播, 2 - 观众。
 jrtcMiniapp.setRole(roleType).then(res => {
 // 成功设置角色
 }).catch(err => {
 // 设置角色失败,打印错误日志,可以查看失败原因
 console.log(err);
 });

5.发布本地音频流。

  • 该方法将本地音视频流发布到远端。互动直播中,调用该 API 的用户即默认为主播。
 jrtcMiniapp.publish().then(res => {
 // 成功获取音频推流地址
 }).catch(err => {
 // 获取音频推流地址失败,打印错误日志,可以查看失败原因
 console.log(err);
 });

6.订阅远端音频流。

  • 该方法订阅并接收远端音频流。互动直播中,调用该 API 的用户即默认为观众。
 jrtcMiniapp.subscribe().then(res => {
 // 成功获取音频拉流地址
 }).catch(err => {
 // 获取音频拉流地址失败,打印错误日志,可以查看失败原因
 console.log(err);
 });

7.获取房间主播列表。

 jrtcMiniapp.getBroadcasterList().then(res => {
 // 成功获取房间主播列表
 }).catch(err => {
 // 获取房间主播列表失败,打印错误日志,可以查看失败原因
 console.log(err);
 });

8.获取房间观众列表。

 jrtcMiniapp.getAudienceList().then(res => {
 // 成功获取房间观众列表
 }).catch(err => {
 // 获取房间观众列表失败,打印错误日志,可以查看失败原因
 console.log(err);
 });

9.获取房间成员数,包括主播人数、观众人数和总人数。

 jrtcMiniapp.getRoomMemberCount().then(res => {
 // 成功获取房间成员数
 }).catch(err => {
 // 获取房间成员数失败,打印错误日志,可以查看失败原因
 console.log(err);
 });

10.退出房间。

jrtcMiniapp.leaveRoom().then(res => {
 // 退出房间成功
 jrtcMiniapp.destroy(); // 销毁客户端对象
}).catch(err => {
 // 退出房间失败,打印错误日志,可以查看失败原因
 console.log(err);
})
更新时间:2021-11-15 20:20:45
文档反馈 docs feedback