更新记录
1.0.1(2026-07-13)
- 完善插件市场
package.json元数据与平台声明 - 开启视频时优先使用后置摄像头(Android
CameraId.CAMERA_ID_BACK/ iOS.back) - 补充 API 文档、集成指南、插件市场上传说明
- 新增打包脚本
npm run pack:volcengine-rtc
平台兼容性
uni-app(4.0)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| - | √ | - | - | - | - | 5.0 | 12 | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
火山引擎 RTC — uni-app UTS 原生插件
封装 火山引擎 veRTC Android / iOS 原生 SDK 3.58+,供 uni-app(Vue3)App 端语音/视频通话使用。
| 平台 | 本插件 | 说明 |
|---|---|---|
| Android App | ✅ | UTS + Kotlin,RTCVideo / RTCRoom |
| iOS App | ✅ | UTS + Swift,ByteRTCVideo / ByteRTCRoom |
| 微信小程序 | ❌ | 请用 volcengine-rtc-mp 或 web-view 加载 H5 |
| H5 / 鸿蒙 | ❌ | 请用 @volcengine/rtc Web SDK |
功能
- 创建引擎、加入/离开房间
- 麦克风采集、静音
- 摄像头开关(默认后置)
- 房间二进制消息(AIGC 字幕 TLV 等)
- 事件:
onJoinSuccess/onJoinFailed/onRoomBinaryMessage/onUserPublishStream等
快速开始
1. 安装插件
方式 A — 插件市场(推荐)
- 在 DCloud 插件市场 搜索
volcengine-rtc并导入项目 - 或使用本仓库打包:
npm run pack:volcengine-rtc,上传packages/volcengine-rtc-uni-plugin/volcengine-rtc.zip
方式 B — 本地 uni_modules
将 volcengine-rtc 目录复制到项目的 src/uni_modules/(或 uni_modules/)。
2. 火山控制台
- 登录 火山 RTC 控制台 创建应用,获取 AppId
- 服务端签发 Token(roomId + userId),参见 Token 鉴权
3. 权限
Android(插件 utssdk/app-android/config.json 已声明,云打包时在 manifest 勾选):
RECORD_AUDIO(必需)CAMERA(视频可选)INTERNET
iOS(utssdk/app-ios/config.json 已配置隐私描述):
NSMicrophoneUsageDescriptionNSCameraUsageDescription(视频可选)
4. 自定义基座 / 云打包
UTS 原生插件需 制作自定义调试基座 或 云打包 后真机测试,标准基座不包含本插件。
5. 代码示例
import {
setVolcRtcEventHandler,
createVolcRtcEngine,
joinVolcRtcRoom,
startVolcRtcAudioCapture,
setVolcRtcAudioMuted,
setVolcRtcVideoEnabled,
leaveVolcRtcRoom,
type VolcRtcEvent,
} from "@/uni_modules/volcengine-rtc";
const APP_ID = "你的 AppId";
const ROOM_ID = "room001";
const USER_ID = "user001";
const TOKEN = "服务端签发的 Token";
setVolcRtcEventHandler((event: VolcRtcEvent) => {
switch (event.type) {
case "onJoinSuccess":
startVolcRtcAudioCapture();
break;
case "onJoinFailed":
case "onError":
console.error(event.message, event.errorCode);
break;
case "onRoomBinaryMessage":
// event.binaryMessageBase64 — AIGC 房间字幕等
break;
case "onUserPublishStream":
console.log("远端发布流", event.userId);
break;
}
});
createVolcRtcEngine();
joinVolcRtcRoom(
APP_ID,
ROOM_ID,
USER_ID,
TOKEN,
JSON.stringify({ call_scene: "RTC-AIGC", user_id: USER_ID }),
true, // autoSubscribeAudio
false, // autoSubscribeVideo
);
// 挂断
// leaveVolcRtcRoom();
重要:须先调用
setVolcRtcEventHandler,再createVolcRtcEngine/joinVolcRtcRoom。回调不可放在 options 对象里跨 UTS 桥传递。
API 一览
| 方法 | 说明 |
|---|---|
setVolcRtcEventHandler(handler) |
注册事件回调(null 清除) |
createVolcRtcEngine() |
初始化桥接(进房前调用) |
joinVolcRtcRoom(appId, roomId, userId, token, extraInfo?, autoSubscribeAudio?, autoSubscribeVideo?) |
创建引擎并进房 |
leaveVolcRtcRoom() |
离房并销毁引擎 |
startVolcRtcAudioCapture() |
开始麦克风采集 |
stopVolcRtcAudioCapture() |
停止麦克风 |
setVolcRtcAudioMuted(muted) |
静音(true=停止采集) |
setVolcRtcVideoEnabled(enabled) |
开关摄像头(开启时默认后置) |
TypeScript 类型见根目录 index.d.ts,UTS 接口见 utssdk/interface.uts。
事件类型
| type | 说明 |
|---|---|
onJoinSuccess |
进房成功 |
onJoinFailed |
进房失败,message / errorCode |
onLeaveRoom |
已离房 |
onError |
SDK 错误 |
onUserPublishStream |
远端发布音频/视频,userId |
onRoomBinaryMessage |
房间二进制消息,binaryMessageBase64 |
onTokenWillExpire |
Token 即将过期,需 updateToken(业务层扩展) |
目录结构
volcengine-rtc/
├── package.json # 插件市场元数据
├── index.d.ts # TS 声明
├── README.md
├── CHANGELOG.md
├── docs/
│ ├── API.md
│ ├── INTEGRATION.md
│ └── MARKETPLACE_UPLOAD.md
└── utssdk/
├── interface.uts
├── app-android/
│ ├── config.json # Maven 依赖 VolcEngineRTC 3.58.1
│ ├── index.uts
│ └── VolcRtcNative.kt
└── app-ios/
├── config.json # VolcEngineRTC Pod
├── index.uts
└── VolcRtcNative.swift
SDK 版本
当前内置依赖版本:3.58.1.55100
升级时在 utssdk/app-android/config.json 与 utssdk/app-ios/config.json 中修改,并对照 Android API 迁移说明 调整 Kotlin/Swift。
相关文档
许可证与声明
- 本插件为火山引擎 RTC SDK 的 uni-app 封装层,不包含火山官方 SDK 源码
- Android 通过 Maven 拉取
com.volcengine:VolcEngineRTC - iOS 通过 CocoaPods / SPM 引入
VolcEngineRTC - 使用 RTC 服务须遵守火山引擎服务协议,并自行完成 AppId、Token 与服务端鉴权

收藏人数:
购买普通授权版(
试用
赞赏(0)
下载 0
赞赏 0
下载 12424917
赞赏 1934
赞赏
京公网安备:11010802035340号