vue+uniapp实现美颜拍照录像,相册选择 | 录像限制时长,美颜拍照录像

时间:2024-04-17 07:27:47

一、插件简介

Zhimi-BeautyCamera(智密 - 美颜相机图册插件)是一个支持美颜录像,美颜拍照,选择图视频功能,带录像参数时长限制的uniapp原生插件。
平台支持:Android、IOS

 


 

 

二、效果预览
在App端测试效果如下:

 

体验DEMO(安卓浏览器扫码下载)

 


 

 

三、开始使用

(1): 引入插件

首先创建工程,添加完原生插件之后,需要引入插件

var BeautyCamera = uni.requireNativePlugin(\'Zhimi-BeautyCamera\')

具体的API在插件市场的API文档中可以查阅,有定制需求或bug提交的也可以自行联系客服微信(zhimitec)

 

(2): 获取权限

由于安卓与IOS在读写相册,获取摄像头的时候需要先获取权限,Zhimi-BeautyCamera提供前置的权限检查,开发者可以判断权限是否获取成功通过进行下一步操作

BeautyCamera.checkPermissions(res => {
  // 在此做权限获取,当res.code = 0 时获取权限成功,方可进行下一步操作
  if (res.code == 0) {
    // 获取到权限
  } else {
    // 用户拒绝权限
  }
})

 

(3): 打开相机相册

对于Zhimi-BeautyCamera来说,最简单的地方在于插件将三个功能集成在一起,相册,录像,拍照同时展示,通过回调确定用户提供的数据,以最简单直白的方式完成功能接入

BeautyCamera.open(CameraOption, ({ type, data }) => {
  // 当用户选择图片/视频,或者拍照录像时候将会回调数据
  // type = {
  //   onPickerPhoto 选择照片
  //   onPickerVideo 选择视频
  //   onTakePhoto 相机拍照
  //   onTakeVideo 相机录像
  // }
  // 
  // data为返回信息,当type = onPickerPhoto时,data为图片数组,其他情况为文件信息
})

由于相机自带美颜功能,因此开发者不必对美颜功能进行操作,而对于录制视频时长等参数限制,Zhimi-BeautyCamera提供CameraOption进行参数配置

CameraOption = {
  clipTime:10, //视频分割时间,单位s,默认240s
  minTime: 7, //最小录制事件,单位s
  maxTime:3600, //最大录制时间,单位s,默认7200s
  autoFocusTime:2000, //自动对焦间隔时间,单位ms,默认2000
  width:1280, //分辨率宽度 默认1280x720
  height:720, //分辨率高度
  bitRate:5 //码率因子,videoEncodingBitRate=width*height*bitRate
}

开发者可以通过minTime和maxTime确定最低录制的视频长度和最大长度,以达到类型朋友圈最长1分钟的要求。