微信小程序(uniapp)拍照和拍视频
前言微信小程序想要实现拍照和拍小视频功能就得使用camera组件以及配合一些api来完成。提示以下是本篇文章正文内容下面案例可供参考HTML:camerav-ifisAuthstyleheight:60%;classcameradevice-positionbackflashoff/camera!-- 拍照按钮 --viewclassimage_btnv-ifshowclicktakePhotoimage:srcimageIcon takephoto_btn.pngclassimagemode/image/view!-- 拍小视频按钮 --viewclasstimev-ifshowTimetextclasspoint·/texttext00:/texttextv-iftimingSum 100/text{{ timingSum }}/text/viewviewclassimage_btn bottom_btnlongpressstartShootVideotouchstarthandleTouchStarttouchendhandleTouchEndimage:srcimageIcon takeVideo_btn.pngclassimagemode/image/viewJS:// 先校验用户是否授权使用摄像头麦克风onLoad(){const_thisthis;uni.getSetting({success:res{if(res.authSetting[scope.camera]){// 用户已经授权_this.isAuthtrue;}else{// 用户还没有授权向用户发起授权请求uni.authorize({scope:scope.camera,success(){// 用户同意授权_this.isAuthtrue;},fail(){// 用户不同意授权_this.openSetting(camera).then(res{_this.isAuthtrue;});}});}},fail:res{console.log(获取用户授权信息失败);}});uni.getSetting({success:res{if(res.authSetting[scope.record]){// 用户已经授权_this.isAuthtrue;}else{// 用户还没有授权向用户发起授权请求uni.authorize({scope:scope.record,success(){// 用户同意授权_this.isAuthtrue;},fail(){// 用户不同意授权_this.openSetting(record).then(res{_this.isAuthtrue;});}});}},fail:res{console.log(获取用户授权信息失败);}});},methods:{// 拍照takePhoto(){if(this.sum3){// 只能拍3张照片showToast({title:只能添加3张照片,icon:none});return;}constctxuni.createCameraContext();ctx.takePhoto({quality:normal,// 成像质量 high-高质量 normal-普通质量 low-低质量 original-原图success:res{uni.showLoading({title:图片处理中});// res.tempImagePath 拍摄的照片地址this.arr[this.sum].urlres.tempImagePath;this.sum;uni.hideLoading();}});}}// 开始录像startShootVideo(){uni.showLoading({title:正在处理中});this.ctx.startRecord({success:res{this.videoShowtrue;this.showTimetrue;uni.hideLoading();// 计时this.timingsetInterval((){this.timingSum;},1000);},fail(){uni.hideLoading();}});},// 结束录像stopShootVideo(e){if(this.stopContienr){if(this.timing){clearInterval(this.timing);}this.videoShowfalse;uni.showLoading({title:正在处理中});this.ctx.stopRecord({compressed:true,success:res{this.timingSum0;this.showTimefalse;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.startTimee.timeStamp;},//touch end 手指触摸结束handleTouchEnd(e){this.endTouchfalse;if(this.timing){clearInterval(this.timing);}this.videoShowfalse;this.endTimee.timeStamp;//判断是点击还是长按长按 触发结束录像if(this.endTime-this.startTime350){if(this.timingSum5){this.ctx.stopRecord({success:res{showToast({title:录制时间过短,icon:none});},fail(){}});this.timingSum0;}else{this.stopShootVideo();}}}注意首页确保授权了相关权限其次拍的小视频最好限制时长过长会有性能问题。调试以真机为准。

相关新闻

运维转大模型到底解决了什么问题?

运维转大模型到底解决了什么问题?

如果你正准备往大模型方向转,《运维转大模型,真正值钱的为什么不是会调 API?》这类问题别只看热度。更重要的是判断自己该补哪块能力,以及怎么证明你真的会。摘要先把这篇文章的目标说清楚:看完之后,你应该…

2026/7/15 14:39:08阅读更多 →
FireShare:5步搭建你的私有游戏视频分享平台,告别第三方平台限制

FireShare:5步搭建你的私有游戏视频分享平台,告别第三方平台限制

FireShare:5步搭建你的私有游戏视频分享平台,告别第三方平台限制 【免费下载链接】fireshare Self host your media and share with unique links 项目地址: https://gitcode.com/gh_mirrors/fi/fireshare FireShare是一款开源的游戏视频分享平台…

2026/7/15 14:34:04阅读更多 →
学习通、智慧职脚本

学习通、智慧职脚本

🐐个人主页 可惜已不在 🐋可以分享给身边有需要的人🐶 🐉有用的话就留下一个三连吧😼 目录 一.安装 脚本运行器 篡改猴 - Microsoft Edge Addons 二.安装脚本 三.扩展 一.安装 脚本运行器 安装浏览器 Microsoft E…

2026/7/15 14:34:04阅读更多 →
Starship:重新定义终端效率的模块化提示符架构

Starship:重新定义终端效率的模块化提示符架构

Starship:重新定义终端效率的模块化提示符架构 【免费下载链接】starship ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell! 项目地址: https://gitcode.com/GitHub_Trending/st/starship 在当今开发者的工…

2026/7/15 16:54:38阅读更多 →
零编程定制Office界面:Office RibbonX Editor终极指南

零编程定制Office界面:Office RibbonX Editor终极指南

零编程定制Office界面:Office RibbonX Editor终极指南 【免费下载链接】office-ribbonx-editor An overhauled fork of the original Custom UI Editor for Microsoft Office, built with WPF 项目地址: https://gitcode.com/gh_mirrors/of/office-ribbonx-editor…

2026/7/15 16:54:38阅读更多 →
为什么ytDownloader重新定义了开源视频下载工具的技术架构?

为什么ytDownloader重新定义了开源视频下载工具的技术架构?

为什么ytDownloader重新定义了开源视频下载工具的技术架构? 【免费下载链接】ytDownloader Desktop App for downloading Videos and Audios from hundreds of sites 项目地址: https://gitcode.com/GitHub_Trending/yt/ytDownloader 在数字内容创作和在线学…

2026/7/15 16:54:38阅读更多 →
数字电路硬件设计系列(十八)之电源时序控制电路实战:从分立元件到专用芯片

数字电路硬件设计系列(十八)之电源时序控制电路实战:从分立元件到专用芯片

1. 电源时序控制电路的重要性我第一次设计多电源系统时,就栽在了电源时序上。那是一个FPGA项目,上电后芯片直接冒烟,烧毁了好几块板子才找到原因——原来是内核电源和I/O电源的上电顺序反了。这种惨痛教训让我深刻认识到,电源时序…

2026/7/15 16:54:38阅读更多 →
Elsevier Tracker:三步快速安装的终极学术投稿进度监控解决方案

Elsevier Tracker:三步快速安装的终极学术投稿进度监控解决方案

Elsevier Tracker:三步快速安装的终极学术投稿进度监控解决方案 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker Elsevier Tracker是一款专为科研作者设计的免费Chrome浏览器插件,能够自动化监…

2026/7/15 16:54:38阅读更多 →
Prisma DBML Generator 与其他数据库文档工具的对比分析

Prisma DBML Generator 与其他数据库文档工具的对比分析

Prisma DBML Generator 与其他数据库文档工具的对比分析 【免费下载链接】prisma-dbml-generator Prisma DBML Generator 项目地址: https://gitcode.com/gh_mirrors/pr/prisma-dbml-generator Prisma DBML Generator 是一款强大的数据库文档生成工具,它能够…

2026/7/15 16:49:37阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/15 6:42:19阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/15 6:12:45阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/15 10:54:00阅读更多 →
AI框架决定企业AI能走多远

AI框架决定企业AI能走多远

企业AI建设的第一性原理 企业搞AI,最关键的决定是什么?不是选哪家大模型,不是先做哪个场景,不是招多少AI人才——而是选哪个AI开发框架。 为什么?因为框架决定了企业AI能力的"天花板"。选对了框架&#xff0…

2026/7/15 0:01:30阅读更多 →
Java企业为什么需要AI框架

Java企业为什么需要AI框架

Java企业在AI时代的尴尬处境 Java是全球企业级应用开发的主流语言——全球超过一半的企业系统跑在Java上。但在AI浪潮面前,很多Java企业感到尴尬:大模型的接口是各种语言的,AI开发社区以其他语言为主流,似乎Java在AI时代"掉队…

2026/7/15 0:01:30阅读更多 →
CC3230x嵌入式开发实战:SD主机、定时器与低功耗模式深度解析

CC3230x嵌入式开发实战:SD主机、定时器与低功耗模式深度解析

1. 项目概述:为什么需要关注CC3230x的SD主机、定时器与低功耗?在物联网和嵌入式设备开发领域,我们常常面临一个核心矛盾:设备需要具备强大的连接能力、可靠的数据存储和实时控制功能,同时又必须严格控制功耗以延长电池…

2026/7/15 0:01:30阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/15 15:50:47阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/15 8:52:38阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/15 14:06:23阅读更多 →