本文实例讲述了微信小程序拍照和摄像功能实现方法。分享给大家供大家参考,具体如下:

拍照

原先的想法是使用微信的camera组件来实现,并且模拟发朋友圈的样子来进行相机的设置,其实就是将camera组件的大小设置成根屏幕一样大,并在上面使用一个cover-image组件来给用户进行点击,可是实际上的情况是第一,cover-image组件有时候会消失,第二,整个流程实现起来很僵硬,页面跳转也是卡的要死,后来无意间发现了另一个API:wx.chooseImage,这个API会自己去调用相机和相册,之后的工作完全交给底层去实现,简直是简单到没朋友:

// 拍照功能

getLocalImage:function(){

var that=this;

wx.chooseImage({

count:1,

success:function(res){

// 这里无论用户是从相册选择还是直接用相机拍摄,拍摄完成后的图片临时路径都会传递进来

app.startOperating("保存中")

var filePath=res.tempFilePaths[0];

var session_key=wx.getStorageSync('session_key');

// 这里顺道展示一下如何将上传上来的文件返回给后端,就是调用wx.uploadFile函数

wx.uploadFile({

url: app.globalData.url+'/home/upload/uploadFile/session_key/'+session_key,

filePath: filePath,

name: 'file',

success:function(res){

app.stopOperating();

// 下面的处理其实是跟我自己的业务逻辑有关

var data=JSON.parse(res.data);

if(parseInt(data.status)===1){

app.showSuccess('文件保存成功');

}else{

app.showError("文件保存失败");

}

}

})

},

fail:function(error){

console.error("调用本地相册文件时出错")

console.warn(error)

},

complete:function(){

}

})

},

其中封装在app.js中的函数可以看我这篇文章:微信小程序一些简易小函数总结。

摄影

其实跟上面的原理是一样的,对应的API就是wx.chooseVideo,其中可以设置拍摄时间,用户拍摄结束以及用户拍摄时间超时等,都会调用success的回调函数,所以又是可以安心处理接下来的业务流程,而不用需要调用camera组件。

// 摄像功能

getLocalVideo:function(){

var that=this;

var session_key=wx.getStorageSync('session_key');

wx.chooseVideo({

maxDuration:10,

success:function(res1){

app.startOperating("上传中")

// 这个就是最终拍摄视频的临时路径了

var tempFilePath=res1.tempFilePath;

},

fail:function(){

console.error("获取本地视频时出错");

}

})

},

实现起来也是很简单,但是有一个问题就是没有办法像调用camera组件一样获取视频的缩略图,这是现在唯一的缺陷。但是总体来说,比起调用camera组件,这样实现起来的确简单了很多。

希望本文所述对大家微信小程序开发有所帮助。

微信小程序摄像头监控_微信小程序拍照和摄像功能实现方法示例相关推荐

  1. 微信小程序拍照和摄像功能实现方法示例

    微信小程序拍照和摄像功能实现方法示例:本文实例讲述了微信小程序拍照和摄像功能实现方法.分享给大家供大家参考,具体如下: 微信小程序拍照功能实现逻辑和实例代码: 原先的想法是使用微信的camera组件来 ...

  2. 微信小程序摄像头监控_微信小程序读取摄像头 微信调用摄像头

    为什么微信扫一扫无法获取摄像头? 安装微信时,您没有授予微信使用摄像头的权限. 设置-应用权限-找到微信图标,点击"使用摄像头". 微信无法获取摄像头数据什么原因? 可能是因为** ...

  3. 微信小程序摄像头监控_微信必备黑科技小程序!

    ↑点击上方蓝字关注极物推荐 欢迎分享到朋友圈 -不花冤枉钱,历史见真谛 对于喜欢购物的朋友们,这绝对是一把利器.只需把商品链接复制粘贴到上面,就可以轻松的查阅到该商品的历史价格,轻松直观的了解商品过去 ...

  4. 小程序性能监控_通过应用程序性能管理升级监控

    小程序性能监控 APM入门 应用程序性能管理(APM)是对软件应用程序的可用性和性能的监视和管理. 不同的人对这个定义的理解不同,因此本文试图确定APM是什么,包括什么以及为什么对您的业务很重要. 如 ...

  5. 快手小店电脑版_微信PC版更新!支持在小程序中使用微信支付 | 一周资讯

    小程序1. 微信PC版更新,支持在小程序中使用微信支付.12月19日,微信PC端推出内测版2.7.2.73,新版本支持以下新功能:新增看一看精选内容,新的订阅号浏览体验,支持在小程序中使用微信支付.( ...

  6. 小程序 实名信息_微信小程序+商城信息管理系统

    下载地址长期有效 微信商城信息管理系统(java后台+小程序) 使用方法 >温馨提示 java后台信息管理系统 微信商城小程序 >使用方法 加小编微信进行咨询 >实现功能 一:会员管 ...

  7. 小程序 a标签_微信内循环生态:朋友圈标签引流视频号、小程序、搜一搜

    2019 年 1 月,张小龙在广州的微信公开课 Pro 上进行了一场 4 小时的超时演讲,在演讲中,他举了一个和朋友圈相关的例子,每个人每天在朋友圈里花的时长基本是固定的,随着好友发的内容越来越多,用 ...

  8. java写微信小程序答辩问题_微信小程序毕业设计选题和毕业论文怎么写,答辩流程是怎样的?...

    1. 开始准备选题 大四上学期开学时开始准备论文的,首先是确定论文主题,看自己想做什么毕业设计,可以选取之前接触过的,做过的东西,这样快一些,如果选的是没接触过的方向,一定要早点开始.打算做一个小程序 ...

  9. 微信小程序python自动化测试_微信小程序的自动化测试框架

    微信小程序的自动化测试框架 微信发布了小程序的自动化测试框架Minium,提供了多种运行验证方式,其特点: 支持一套脚本,iOS & Android & 模拟器,三端运行 提供丰富的页 ...

最新文章

  1. java类的修改三个方面_Java 编程的动态性,第 6 部分: 利用 Javassist 进行面向方面的更改--转载...
  2. Collecting Bugs POJ - 2096(基础概率dp+期望模板)
  3. 图表相同数据会自动合并问题(finereport)
  4. java学习笔记之数组
  5. linux的虚拟机部署项目,在虚拟机上部署Web项目
  6. 数据科学 IPython 笔记本 8.2 Matplotlib 的应用
  7. 安卓手机ip修改器_亚马逊手机端?电脑端?谁是测评一哥
  8. python释放变量内存_2020Python面试题:Python是如何进行内存管理的?
  9. sql中in与=的异同
  10. python程序设计期末作业_Python高级应用程序设计任务期末作业
  11. 振南的 znFAT(前言)
  12. 盘点丨12款数据库建模工具特点,总有一款适合你!
  13. TCP传输慢问题分析
  14. VisionTransformer(一)—— Embedding Patched与Word embedding及其实现
  15. 指导手册05:MapReduce编程入门.md
  16. 哪款蓝牙耳机性价比高?双十一蓝牙耳机推荐
  17. bzoj 2876: [Noi2012]骑行川藏 拉格朗日数乘
  18. 影视剪辑,如何一个人自学短视频7天vlog教程
  19. hdu 1845(最大匹配)
  20. 什么样的人才是一个成熟的人?

热门文章

  1. python中想在groupby后,将数据排序
  2. react history路由跳转
  3. 6.7. 在 Heroku 上使用 PostgreSQL
  4. SOLIDWORKS常见的设置问题四则
  5. vue 调用webservice_浅谈WebService的调用
  6. Xcode 清理存储空间,减少空间占用
  7. 手把手教你下载微信公众号里的视频
  8. 如果陆地和海洋的比例颠倒,那地球会是什么样子
  9. 循环map取值的方法
  10. moment方法获取当前时间并对时间进行处理