简介
利用 LiveKit 构建 WebRTC 音视频通话方案,优势在于无需手动处理复杂的网络打洞问题,SFU 架构能更好地支撑多路并发。以下是在 uni-app 中集成的实战步骤。
环境准备
服务端部署
首先需要搭建 LiveKit 服务。克隆官方仓库并启动:
livekit-server --dev --bind 0.0.0.0
启动后会输出 API Key 和 Secret,后续用于生成 Token。若需测试用户身份,可使用 CLI 工具生成临时凭证:
lk token create --api-key devkey --api-secret secret --join --room my-first-room --identity user1 --valid-for 999h
客户端配置
在 uni-app 项目中,确保已引入相关插件。需将 AndroidManifest.xml 和 Info.plist 配置文件复制到项目根目录,并根据实际网络环境调整权限设置。
核心流程
初始化与连接
实例化房间对象并设置回调监听,这是处理所有状态变化的入口。
import { UTSLiveKitRoom } from "@/uni_modules/wrs-uts-livekit"
let room = new UTSLiveKitRoom()
room.onCallback((resp) => {
// 根据 opt 字段区分不同事件
switch (resp.opt) {
case "onConnect":
console.log("连接成功")
break
case "onFailConnect":
console.log("连接失败")
break
// ... 其他状态处理
}
})
调用 initRoom() 完成初始化,随后传入 WebSocket 地址和 Token 进行连接。注意,必须先建立连接才能开启媒体设备。
room.initRoom()
let params = { url: , : }
room.(params, {
(resp.) {
()
} {
.( + .(resp))
}
})


