更新记录
1.0.0(2026-04-09)
- 原生相机预览,支持前后摄像头切换
- 手动开始录制和停止录制
- 默认静音录制,可按需开启音频
- 支持配置录制最大时长
- 支持圆形、圆角、方形预览样式
- Android 支持录制过程中的预览帧回调
- 模板页支持按固定间隔抽帧并打印日志
平台兼容性
uni-app(4.75)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | √ | √ | - | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.75)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| × | × | √ | - | - | × |
austin-record-frame
austin-record-frame 是一个面向 App 端的 UTS 原生录制插件,提供原生相机预览、手动开始/停止录制、默认静音录制、圆形/圆角预览以及录制状态回调。插件同时附带模板页,用于演示录制、抽帧开关控制、抽帧间隔设置,以及控制台输出视频路径和抽帧结果。
功能特性
- 原生相机预览,支持前后摄像头切换
- 手动开始录制和停止录制
- 默认静音录制,可按需开启音频
- 支持配置录制最大时长
- 支持圆形、圆角、方形预览样式
- Android 支持录制过程中的预览帧回调
- 模板页支持按固定间隔抽帧并打印日志
适用场景
- 需要一个简单、可控的原生视频录制能力
- 需要在录制过程中获取状态变化和文件路径
- 需要在业务页面里自行控制抽帧节奏和后续处理逻辑
安装
将以下目录放入项目的 uni_modules 目录:
uni_modules/austin-record-frame
如果需要直接运行插件自带模板页中的视频文件抽帧演示,请同时安装依赖模块:
权限要求
默认模板页
- 默认使用
:mute="true",只需要相机权限 - 录制文件和抽帧图片默认写入应用私有目录,不需要额外存储权限
iOS
NSCameraUsageDescription- 当
mute=false时,还需要NSMicrophoneUsageDescription
Android
android.permission.CAMERA- 当
mute=false时,还需要android.permission.RECORD_AUDIO
说明
- 插件模板页已经包含相机权限申请流程
- 如果你在自己的业务页面里直接接入组件,建议在进入页面前自行确认权限状态
- 当前插件不会主动保存到系统相册,所以默认不需要相册读写权限
- 如果你的业务后续要把录制结果保存到相册,再额外配置相册相关权限
组件用法
<austin-record-frame
ref="recorderRef"
cameraPosition="front"
resolution="720p"
:mute="true"
:maxDurationMs="0"
:previewCornerRadiusRate="0.5"
@ready="onRecorderReady"
@recordstart="onRecordStart"
@recordprogress="onRecordProgress"
@recordfile="onRecordFile"
@recordstop="onRecordStop"
@error="onRecordError"
/>
Props
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
camera-position |
string |
front |
摄像头位置,可选 front / back |
resolution |
string |
720p |
分辨率,可选 720p / 1080p |
mute |
boolean |
true |
是否静音录制 |
max-duration-ms |
number |
8000 |
最大录制时长,单位毫秒,<= 0 表示不自动停止 |
preview-corner-radius-rate |
number |
0.5 |
预览圆角比例,0.5 = 圆形,0 = 方形 |
事件
| 事件名 | 说明 |
|---|---|
ready |
组件准备完成,预览可用 |
recordstart |
开始录制 |
recordprogress |
录制中进度回调 |
recordfile |
录制文件可用时回调 |
recordstop |
停止录制 |
framecapture |
Android 录制过程中输出预览帧 |
error |
录制或预览异常 |
方法
| 方法名 | 说明 |
|---|---|
startPreview() |
开始预览 |
stopPreview() |
停止预览 |
startRecord() |
开始录制 |
stopRecord() |
停止录制 |
switchCamera(position) |
切换前后摄像头 |
getCurrentFilePath() |
获取当前录制文件路径或最近一次录制路径 |
capturePreviewFrame() |
Android 直接抓取当前预览帧 |
模板页说明
当前目录下的 index.nvue 是插件模板页,主要演示以下能力:
- 原生相机预览
- 手动开始 / 停止录制
- 开启 / 关闭抽帧
- 设置抽帧间隔
- 设置抽帧质量
- 设置预览圆角
- 控制台打印录制视频路径
- 控制台打印每次抽帧结果
模板页主要用于业务验证和联调,你可以直接复制页面逻辑到自己的项目页面中继续扩展。
模板页中的视频文件抽帧能力依赖 austin-video-frame 视频抽帧插件。

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 605
赞赏 4
下载 11494223
赞赏 1903
赞赏
京公网安备:11010802035340号