一、插件简介

Zhimi-Camera(智密 - 智密 - 相机图册插件-视频/图片选择器)是一个支持拍照,录像,相册选择功能,自带图片裁剪,图片压缩,视频压缩,选择数量限制的uniapp原生插件。
平台支持:Android、IOS


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

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


三、开始使用

(1): 引入插件

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

var Camera = uni.requireNativePlugin('Zhimi-Camera')

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

(2): 获取权限

由于安卓与IOS在读写相册,获取摄像头的时候需要先获取权限,Zhimi-Camera自带前置的权限检查,当且仅当用户同意权限请求才会触发方法

(3): 录像/拍照

当我们需要进行录像/拍照操作的时候,可以通过以下API进行操作

Camera.openCamera(ActionOption, ret => {
  // 当用户拍照/录像时候将会回调数据
  // ret.type = photo | video
  // photo: 照片
  // video: 视频
  // ret.type = photo时,ret.imagePath 为照片路径
  // ret.type = video时,ret.videoPath 为视频路径
})

录像还是拍照,我们可以通过ActionOption中的action和type进行限制,ActionOption的传值如下

ActionOption = {
  type: 'photo', // photo: 照片 | video: 视频
  action: 'takePhoto', // takePhoto: 拍照 | record: 录像
}

(4): 选择图片/视频

当我们需要选择图片/视频的时候,可以通过以下API进行操作

Camera.openAlbum(ActionOption, ret => {
  // 当用户选择图片/视频时候将会回调数据
  // ret.type = photo | video
  // photo: 照片
  // video: 视频
  // ret.type = photo时,ret.imagePaths 为照片路径数组
  // ret.type = video时,ret.videoPath 为视频路径
})

选择图片还是视频,我们可以通过ActionOption中的type进行限制,而选择图片还可以通过maxNum确定最大数量,ActionOption的传值如下

ActionOption = {
  type: 'photo', // photo: 照片 | video: 视频
  maxNum: 9, // maxNum: 最大数量(拍照/录像/选择视频时固定为1),0为无限制
}

(5): 注意点

由于需要进行图片/视频压缩,因此我们会将源文件进行复制一份并且操作(转码,压缩),返回给开发者的为复制后的文件路径,如果仅仅是做上传操作之后不需要进行其他操作,开发者可以通过plus.io下的api删除该临时文件,具体参考html5plus官方文档:https://www.html5plus.org/doc/zh_cn/io.html#plus.io.FileEntry.remove

vue+uniapp实现照录像,相册选择 | 图片裁剪压缩,视频压缩的更多相关文章

  1. IOS研究院之打开照相机与本地相册选择图片(六)

    原创文章如需转载请注明:转载自雨松MOMO程序研究院本文链接地址:IOS研究院之打开照相机与本地相册选择图片(六) Hello 大家好 IOS的文章好久都木有更新了,今天更新一篇哈. 这篇文章主要学习 ...

  2. [Android实例教程] 教你如何拍照+相册选择图片+剪裁图片完整实现

    [Android实例教程] 教你如何拍照+相册选择图片+剪裁图片完整实现 今天做Android项目的时候要用到图片选择,要实现拍照获取图片和从相册获取图片,并且要求在获取完之后可以裁剪,试了很多方法之 ...

  3. HTML5 Plus 拍照或者相册选择图片上传

    HBuilder+HTML5 Plus+MUI实现拍照或者相册选择图片上传,利用HTML5 Plus的Camera.Gallery.IO.Storage和Uploader来实现手机APP拍照或者从相册 ...

  4. 微信小程序:从本地相册选择图片或使用相机拍照。

    wx.chooseImage(OBJECT) 从本地相册选择图片或使用相机拍照. OBJECT参数说明: 示例代码: wx.chooseImage({ count: 1, // 默认9 sizeTyp ...

  5. ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结

    相册 iphone的相册包含摄像头胶卷+用户计算机同步的部分照片.用户可以通过UIImagePickerController类提供的交互对话框来从相册中选择图像.但是,注意:相册中的图片机器路径无法直 ...

  6. iOS 使用AFN 进行单图和多图上传 摄像头/相册获取图片,压缩图片

    图片上传时必要将图片进行压缩,不然会上传失败 首先是同系统相册选择图片和视频.iOS系统自带有UIImagePickerController,可以选择或拍摄图片视频,但是最大的问题是只支持单选,由于项 ...

  7. node.js中使用imagemagick进行图片裁剪压缩

    node.js中使用imagemagick进行图片裁剪压缩 安装imagemagick sudo apt-get install imagemagick or wget http://www.imag ...

  8. ng-cordova 手机拍照或从相册选择图片

    1.需求描述 实现一个调用摄像头拍照,或者直接打开本地图库选择照片,然后替换App中图片的功能 2.准备 1) 安装ng-cordova 进入到ionic工程目录,使用bower工具安装, bower ...

  9. IOS研究院之打开照相机与本地相册选择图片

    如下图所示 在本地相册中选择一张图片后,我们将他拷贝至沙盒当中,在客户端中将它的缩略图放在按钮旁边,这个结构其实和新浪微薄中选择图片后的效果一样.最终点击发送将按钮将图片2进制图片上传服务器. 下面我 ...

随机推荐

  1. 8.5 Ingress实现基于域名的多虚拟主机、URL转发、及多域名https实现等案例

    1.什么是Ingress Ingress 公开了从k8s集群外部到集群内服务的 HTTP 和 HTTPS 路由. 流量路由由 Ingress 资源上定义的规则控制. 可以将 Ingress 配置为服务 ...

  2. 解决 IDEA 2021.2.3 新建maven项目只有两个archetype项目模板的问题

    最近把我的 IDEA 版本更新到 2021.2.3 了,发生了一个比较有意思的问题,做个小小的记录 思路分析 在新的 IDEA 中配置完Maven之后,想要创建Maven项目的时候没有自动加载arch ...

  3. c语言printf输出最前端字符不显示

    原因:语法错误,和其它语言语法混用. printf("链表长度 : %d \n",length); printf("length is : %d \n",len ...

  4. 【GS模型】使用R包sommer进行基因组选择的GBLUP和RRBLUP分析?

    目录 简介 GS示例代码 简介 R包sommer内置了C++,运算速度还是比较快的,功能也很丰富,可求解各种复杂模型.语法相比于lme4包也要好懂一些. 建议查看文档:vignette("v ...

  5. 16-4SUM

    4.30更新,已经AC 18. 4Sum My Submissions QuestionEditorial Solution Total Accepted: 71102 Total Submissio ...

  6. 13.Merge k Sorted Lists

    思路:利用map<int,vector<ListNode*> > 做值和指针的映射,最后将指针按值依次链接起来, 时间复杂度O(N),空间O(N) Merge k sorted ...

  7. Demo02一千以内的水仙花数

    package 习题集2;//1000以内的水仙花数public class Demo02 { public static void main(String[] args) { int i = 100 ...

  8. 判断是否有重复,判断字符串是否有重复汉字【c#】

    string corn = "公司"; int n = 0; if (tbCorporateName.Text.IndexOf(corn) > -1) { string co ...

  9. HDFS05 NameNode和SecondaryNameNode

    NameNode和SecondaryNameNode(了解) 目录 NameNode和SecondaryNameNode(了解) NN 和 2NN 工作机制 NameNode工作机制 Secondar ...

  10. LeetCode替换空格

    LeetCode 替换空格 题目描述 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 实例 1: 输入:s = "We are happy." 输 ...