更新记录
1.0.0(2026-06-23)
- Android/iOS 双端:Camera2 / AVCaptureSession 原生相机预览
- 实时帧捕获:NV12 格式 + Chunked Base64 传输,帧捕获模式 720p 默认
- 全屏原生 UI:拍照 / 相册选择 / 翻转 / 关闭,原生按钮
- 拍照返路径:拍照或相册选择后关闭相机,返回图片路径
- 人脸框标记:
updateFaceRects在预览层绘制 - Chunked Base64 协议:大帧分块传输 + 自动重装(3秒超时)
- 标准响应信封:
{code, msg, data}格式 - 调试开关:
debug: true控制原生日志输出
平台兼容性
uni-app(4.18)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| - | - | × | × | - | - | 7.0 | √ | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | - | × | - | - | - | - |
ly028-Camera UTS 双端实时帧相机
📱 下载体验 APK
Android/iOS 原生相机 UTS 插件,实时 NV12/YUV 帧数据输出,全屏原生 UI 预览,适用于人脸识别、AI 视觉等场景。
特性
- 📷 全屏原生相机 UI — 高性能原生相机预览,非 WebView
- 🔄 实时 NV12 帧捕获 — 逐帧回调 YUV 数据,支持 AI 视觉处理
- 📱 双端一致 — Android / iOS API 完全相同,调用端无平台差异
- 🎯 拍照 + 录像 — 支持拍照和视频录制
- 🧩 UTS 插件 — uni-app 原生插件,即插即用
平台兼容
| 平台 | 最低版本 | 架构 |
|---|---|---|
| Android | 7.0 (API 24) | arm64-v8a, armeabi-v7a |
| iOS | 12.0 | arm64 |
集成与调试
HBuilderX 自定义基座运行
- 插件市场购买插件后,在
manifest.json→ App 原生插件配置中选择ly028-Camera - 选择需要使用的模块
- 自定义调试基座:菜单栏 → 运行 → 运行到手机或模拟器 → 制作自定义调试基座
- 制作完成后,选择自定义基座运行到真机即可调试所有功能
首次使用请确保已关联 uni-app 开发者证书,自定义基座有效期为 7 天,过期后需重新制作。
离线打包
插件为原生代码插件,离线打包需自行集成原生依赖。
快速开始
import * as Camera from '@/uni_modules/ly028-Camera'
// 1. 打开相机预览
Camera.openCamera({
position: 'back', // back / front
frameCallback: true, // 是否回调帧数据
}, (res) => {
if (res.code === 0) {
console.log('相机已启动')
}
})
// 2. 监听帧数据
Camera.onFrameData((data) => {
// data: { width, height, data: ArrayBuffer(NV12 格式), format: 'nv12' }
console.log('帧数据:', data.width, data.height, data.data.byteLength)
})
// 3. 拍照
Camera.takePhoto((res) => {
if (res.code === 0) {
console.log('拍照成功:', res.path)
}
})
// 4. 关闭相机
Camera.closeCamera()
全量 API 参考
相机生命周期
| API | 说明 |
|---|---|
openCamera(options, callback) |
打开相机预览 |
closeCamera() |
关闭相机释放资源 |
switchCamera(callback) |
切换前后摄像头 |
帧捕获
| API | 说明 |
|---|---|
onFrameData(callback) |
注册帧数据回调(NV12 格式) |
offFrameData(callback) |
移除帧数据回调 |
setFrameRate(fps) |
设置帧率 |
拍照与录像
| API | 说明 |
|---|---|
takePhoto(callback) |
拍照 |
startVideo(options, callback) |
开始录像 |
stopVideo(callback) |
停止录像 |
返回值格式
所有 API 返回统一 JSON 信封:
// 成功
{"code": 0, "data": {...}}
// 失败
{"code": 1, "subCode": 500, "msg": "错误描述"}
帧数据结构
{
"width": 1920,
"height": 1080,
"format": "nv12",
"data": "<ArrayBuffer>"
}
注意事项
- 帧数据较大(1080p 约 3MB/帧),建议按需开启
frameCallback - 相机权限需在 manifest.json 中配置
CAMERA、RECORD_AUDIO权限 - 前后切换会短暂黑屏,属正常现象
- 不支持模拟器,请在真机上调试
隐私声明
- 本插件不采集任何用户数据
- 所有相机操作在设备端本地完成
- 不上传任何图像或视频数据
体验
📱 下载体验 APK
许可
- 插件市场购买后获得使用授权
- 禁止反编译、二次分发

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 923
赞赏 0
下载 12304069
赞赏 1923
赞赏
京公网安备:11010802035340号