更新记录

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 视频抽帧插件

隐私、权限声明

1. 本插件需要申请的系统权限列表:

### iOS NSCameraUsageDescription ### Android android.permission.RECORD_AUDIO

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。