实现低延迟直播
融云开发者账户是使用融云 SDK 产品的必要条件。在开始之前,请先前往融云官网注册开发者账户。注册后,控制台将自动为你创建一个应用,默认为开发环境应用,使用国内数据中心。请获取该应用的 App Key,在本教程中使用。
首次使用融云音视频的用户,建议参考文档运行示例项目,以完成开发者账号注册、音视频服务开通等工作。
步骤 1:服务开通
您在融云创建的应用默认不会启用音视频服务。在使用融云提供的任何音视频服务前,您需要前往控制台,为应用开通音视频服务。
具体步骤请参阅开通音视频服务。
提示
服务开通、关闭等设置完成后 30 分钟后生效。
步骤 2:SDK 导入
RTCLib 相关业务依赖 IMLib 作为信令通道。因此,开发音视频会议必须安装融云音视频核心能力库 RTCLib,即时通讯能力库 IMLib。
安装 IMLib
推荐使用 IMLib 5.X。您也可以使用 2.x 或 4.x 的 Adapter SDK。
# 安装 RongIMLib v5
npm install @rongcloud/engine@latest @rongcloud/imlib-next --save
安装 RTCLib
# 安装 RTCLib
npm install @rongcloud/plugin-rtc --save
上述步骤仅简要说明安装方法,详见安装 RTCLib SDK。
步骤 3:初始化
您需要先初始化 IMLib,再初始化 RTCLib。
初始化 IMLib
RTCLib 是基于 IMLib 的插件机制所实现的插件。因此需要先初始化 IMLib。推荐使用 IMLib 5.X。
以下示例基于 IMLib 5.X。使用 Typescript 进行编码,便于开发者更好的理解相关值的类型信息。
import * as RongIMLib from '@rongcloud/imlib-next'
import { installer, RCRTCCode } from '@rongcloud/plugin-rtc'
// 初始化 IM
RongIMLib.init({
appkey: '<Your-Appkey>',
});
/**
* 监听消息通知
*/
const Events = RongIMLib.Events;
RongIMLib.addEventListener(Events.MESSAGES, (event) => {
console.log('received messages', event.messages);
});
/**
* 监听 IM 连接状态变化
*/
RongIMLib.addEventListener(Events.CONNECTING, () => {
console.log('onConnecting');
});
RongIMLib.addEventListener(Events.CONNECTED, () => {
console.log('onConnected');
});
RongIMLib.addEventListener(Events.DISCONNECT, (status) => {
console.log('连接中断,需要业务层进行重连处理 ->', status)
})