当前位置: 首页 > news >正文

微信小程序(uniapp)拍照和拍视频

前言

微信小程序想要实现拍照和拍小视频功能,就得使用camera组件以及配合一些api来完成。

提示:以下是本篇文章正文内容,下面案例可供参考

HTML:

<camerav-if="isAuth"style="height:60%;"class="camera"device-position="back"flash="off"></camera><!-- 拍照按钮 --><viewclass="image_btn"v-if="show"@click="takePhoto"><image:src="imageIcon + 'takephoto_btn.png'"class="image"mode=""></image></view><!-- 拍小视频按钮 --><viewclass="time"v-if="showTime"><textclass="point">·</text><text>00:</text><textv-if="timingSum < 10">0</text>{{ timingSum }}</text></view><viewclass="image_btn bottom_btn"@longpress="startShootVideo"@touchstart="handleTouchStart"@touchend="handleTouchEnd"><image:src="imageIcon + 'takeVideo_btn.png'"class="image"mode=""></image></view>

JS:

// 先校验用户是否授权使用摄像头,麦克风onLoad(){const_this=this;uni.getSetting({success:res=>{if(res.authSetting['scope.camera']){// 用户已经授权_this.isAuth=true;}else{// 用户还没有授权,向用户发起授权请求uni.authorize({scope:'scope.camera',success(){// 用户同意授权_this.isAuth=true;},fail(){// 用户不同意授权_this.openSetting('camera').then(res=>{_this.isAuth=true;});}});}},fail:res=>{console.log('获取用户授权信息失败');}});uni.getSetting({success:res=>{if(res.authSetting['scope.record']){// 用户已经授权_this.isAuth=true;}else{// 用户还没有授权,向用户发起授权请求uni.authorize({scope:'scope.record',success(){// 用户同意授权_this.isAuth=true;},fail(){// 用户不同意授权_this.openSetting('record').then(res=>{_this.isAuth=true;});}});}},fail:res=>{console.log('获取用户授权信息失败');}});},methods:{// 拍照takePhoto(){if(this.sum==3){// 只能拍3张照片showToast({title:'只能添加3张照片',icon:'none'});return;}constctx=uni.createCameraContext();ctx.takePhoto({quality:'normal',// 成像质量 high-高质量 normal-普通质量 low-低质量 original-原图success:res=>{uni.showLoading({title:'图片处理中'});// res.tempImagePath 拍摄的照片地址this.arr[this.sum].url=res.tempImagePath;this.sum++;uni.hideLoading();}});}}
// 开始录像startShootVideo(){uni.showLoading({title:'正在处理中'});this.ctx.startRecord({success:res=>{this.videoShow=true;this.showTime=true;uni.hideLoading();// 计时this.timing=setInterval(()=>{this.timingSum++;},1000);},fail(){uni.hideLoading();}});},// 结束录像stopShootVideo(e){if(this.stopContienr){if(this.timing){clearInterval(this.timing);}this.videoShow=false;uni.showLoading({title:'正在处理中'});this.ctx.stopRecord({compressed:true,success:res=>{this.timingSum=0;this.showTime=false;uni.saveFile({tempFilePath:res.tempVideoPath,success:res=>{uni.hideLoading();// res.savedFilePath 视频地址uni.setStorageSync('videoUrl',JSON.stringify(res.savedFilePath));}});},fail(){uni.hideLoading();}});}},//touch start 手指触摸开始handleTouchStart(e){this.startTime=e.timeStamp;},//touch end 手指触摸结束handleTouchEnd(e){this.endTouch=false;if(this.timing){clearInterval(this.timing);}this.videoShow=false;this.endTime=e.timeStamp;//判断是点击还是长按,长按 触发结束录像if(this.endTime-this.startTime>350){if(this.timingSum<5){this.ctx.stopRecord({success:res=>{showToast({title:'录制时间过短!',icon:'none'});},fail(){}});this.timingSum=0;}else{this.stopShootVideo();}}}

注意:首页确保授权了相关权限,其次拍的小视频最好限制时长,过长会有性能问题。调试以真机为准。

http://www.jsqmd.com/news/1194313/

相关文章:

  • 终极PL-2303驱动解决方案:Windows 10/11下老旧串口芯片的企业级完整复活指南
  • 2026 临沂黄金卖金完整指南专业透明流程拆解,6 家合规门店整理,新手变现零踩坑 - 不晚生活号
  • 户口本翻译件标准模板范本是什么?户口本翻译件去哪办理? - 信息快递
  • VR-Reversal:3D VR视频转2D观看与录制工具
  • 幻兽帕鲁存档迁移终极指南:3步解决角色丢失问题
  • Onmyoji Auto Script:阴阳师自动化脚本的技术架构与智能游戏管理方案
  • SteamAutoCrack完整指南:5分钟学会自动化破解Steam游戏DRM保护
  • Docker Time Machine与Synology NAS集成:完整配置教程
  • D3KeyHelper:暗黑破坏神3智能技能助手终极配置指南
  • 免费解锁Wand高级功能:5分钟完成游戏修改器终极增强指南
  • 程序员做菜指南小程序计时器功能使用教程:精准掌握烹饪时间
  • 2026年7月万国维修服务中心全网声明:官方售后电话更新授权门店地址汇总 - 万国官方维修中心
  • Spring中三级缓存如何解决循环依赖的
  • 长沙芙蓉区香奈儿古驰回收避坑,出售奢侈品优选即时结算实体商家 - 逸程奢侈品回收中心
  • 2026年电线电缆挤出机、高速束丝机、吹水器设备5家深度实测,源头工厂避坑指南 - 中国远见品牌企业资讯
  • BLHeli_32高级配置方案:专业级电调固件性能调优与硬件调试指南
  • fuck-coding-interviews中的排序算法实战:从冒泡排序到快速排序
  • 终极指南:如何在Windows电脑上直接安装安卓应用?APK安装器完整教程
  • 5个实用 wd 使用场景:从项目开发到日常工作的效率提升
  • BG3ModManager:高效管理博德之门3模组的专业解决方案
  • 2026 济南黄金回收避坑攻略 正规实体门店实地测评榜单 - 资讯速览
  • 常州天宁区黄金存放避坑 + 正规回收门店实测|梅雨季闲置黄金保养变现全指南 - 铂衡汇黄金珠宝
  • 从ToC到ToB全场景覆盖:Jiuwen AgentCore如何满足不同行业AI智能体需求
  • SingGuard-4b-GGUF实战教程:文本内容安全检测的10个应用场景
  • 标准成本、实际成本、变动成本,别再混用!一文讲透制造成本核算
  • Wand-Enhancer:免费解锁WeMod专业版的完整本地增强指南
  • Ascend C SIMD-API Layout函数
  • 2026成都两联供系统服务商避坑参考:施工细节全面解析 - 信息热点
  • 从名字读懂云克隆:一家用二十年“打磨”的科研试剂生产企业
  • Navicat 16/17 Mac版无限试用期重置终极指南:三种方法轻松实现永久免费使用