实现音视频会议
本教程是为了让新手快速了解融云音视频微信小程序 RTCLib SDK(@rongcloud/plugin-wechat-rtc)。
提示
融云 RTCLib SDK 在小程序平台仅支持音视频会议,不支持音视频直播。
微信音视频小程序开发须知
- 音视频小程序 SDK 设计特点:融云音视频小程序 SDK 基于微信的小程序框架提供的原生媒体组件封装了两个自定义组件。开发者仅需引入自定义组件、配合发布和订阅接口,即可完成小程序的基础音视频功能。
rc-livepusher
:融云自定义的音视频推流组件,封装了微信的实时音视频录制原生组件 live-pusherrc-liveplayer
:融云自定义的音视频拉流组件,封装了微信的实时音视频播放原生组件 live-player
- 微信原生组件限制:微信小程序的
live-pusher
、live-player
是由客户端创建的原生组件(native-component)。在开始开发前,请确保您了解微信原生组件的功能及限制(详见微信文档原生组件的使用限制)。建议您在使用到原生组件时尽量在真机上进行调试,确保小程序音视频效果稳定可靠 - 微信类目审核:请确保您的小程序已通过支持
live-pusher
、live-player
两个媒体组件的类目审核,且在微信小程序控制台开通了live-pusher
和live-player
的权限 - 设备权限要求:使用小程序录制音视频前,必须授于摄像头和麦克风权限。详见微信小程序用户信息授权文档: https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html
前置条件
- 创建融云开发者账号,获取 App Key。注册成功后,融云控制台会默认自动创建您的首个应用,默认生成开发环境下的 App Key,使用国内数据中心。注意:同一个应用的开发环境与生产环境提供不同的 App Key,两个环境之间数据隔离
- 已经完成 开通音视频服务,请开通音视频通话服务。开发环境下可免费开通,每个应用均可享有 10000 分钟免费体验时长,免费体验时长用完即止。生产环境下需要先预存费用才可开通。服务开通后最长 15 分钟生效。详见开通音视频服务
Demo 项目
融云提供了微信小程序 Demo 项目。
https://downloads.rongcloud.cn/Wechat_RTCLib_Demo_v5.1.0.zip
步骤 1:导入 SDK
小程序 RTC SDK 强依赖小程序 IM SDK,使用 RTC SDK 前必须引入 IM SDK。
您可以使用 NPM 安装 RTC SDK 与其依赖的 IMLib SDK。
- 安装 5.x 版本 IMLib
JavaScript
npm install @rongcloud/engine@latest @rongcloud/imlib-next@latest -S
@rongcloud/engine | |
@rongcloud/imlib-next@latest |
- 安装 RTCLib
JavaScript
npm install @rongcloud/plugin-wechat-rtc
@rongcloud/plugin-wechat-rtc |
RTCLib(@rongcloud/plugin-wechat-rtc
)安装过程中,会将内部的 rcComponents
移动至 node_modules
下。rcComponents
文件夹中存放了推、拉流自定义组件 rc-livepusher
和 rc-liveplayer
。
rcComponents
文件夹目录结构如下:
typescript
|- rcComponents/
|- rc-liveplayer.js
|- rc-liveplayer.json
|- rc-liveplayer.wxml
|- rc-liveplayer.wxss
|- rc-livepusher.js
|- rc-livepusher.json
|- rc-livepusher.wxml
|- rc-livepusher.wxss
-
依赖包安装完毕后,在小程序开发者工具的菜单中,寻找 "工具 -> 构建 npm" 选项,对依赖的 npm 包进行小程序所需的二次编译
-
全部下载安装完成后,即可在代码中导入 IMLib 与 RTCLib 库
JavaScript
const RongIMLib = require('@rongcloud/imlib-next');
const RongRTCLib = require('@rongcloud/plugin-wechat-rtc');