uniapp原生插件之无预览静默拍照

news2024/11/27 21:56:36

插件介绍

无预览静默拍照,在用户无感觉情况下调用摄像头拍照

插件地址

无预览静默拍照 - DCloud 插件市场

超级福利

uniapp 插件购买超级福利

插件申请权限

  1. 存储卡读写权限
  2. 摄像头权限

manifest.json权限列表

/* android打包配置 */
            "android" : {
                "permissions" : [
                    "<uses-feature android:name=\"android.hardware.camera\"/>",
                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
                    "<uses-feature android:name=\"android.hardware.camera.flash\"/>",
                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
                    "<uses-permission android:name=\"android.permission.INTERNET\"/>",
                    "<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>"
                    "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>"
                    "<uses-permission android:name=\"android.permission.USE_CREDENTIALS\"/>",
                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
                    "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
                ],
                "abiFilters" : [ "armeabi-v7a", "arm64-v8a" ]
            },

插件功能

无预览静默拍照 

开始拍照 start 

用法
this.$refs.refCameraNoPreview.start({
   imageName:"image.jpg",
   isCoverSameName:true,
   cameraFacing:0
 })
 参数说明
  • imageName:文件名,可以不传,不传的话系统会自动生成随机文件名
  • isCoverSameName:是否覆盖同名文件,默认:false(1.1.0新增)
  • cameraFacing:摄像头开启模式,0.后置摄像头,1.前置摄像头(1.1.0新增)

事件

onError 

发生错误事件,具体可参考示例代码 

onSuccess

拍照成功事件,具体可参考示例代码

 示例

<template>
  <view class="content" id="idContent" ref="refContent">
    <leven-cameraNoPreviewComponent ref="refCameraNoPreview" @onError="onError" @onSuccess="onSuccess">
    </leven-cameraNoPreviewComponent>
  </view>
</template>

<script>
  export default {
    data() {
      return {};
    },
    mounted() {
    },
    methods: {
      onError(data) {
        console.log(data)
      },
      onSuccess(data) {
        console.log("成功")
        console.log(data)
        //图片文件路径
        console.log("图片文件路径:" + data.detail.path)
      },
      cameraPicture() {
        if (this.$refs.refCameraNoPreview) {
          this.$refs.refCameraNoPreview.start({
            imageName:"image.jpg",
            isCoverSameName:true,
            cameraFacing:0
          })
        }
      },
    }
  };
</script>

<style lang="scss">
  .content {
    padding: 0 32rpx;
  }

  .button-group {
    margin-bottom: 32rpx;
  }

  .button-box {
    height: 45px;
    line-height: 45px;
    text-align: center;
    border-radius: 5px;
    background-color: $uni-color-primary;
    color: #FFFFFF;
    margin-bottom: 10px;
  }
</style>

预览拍照,录制视频

使用

<leven-cameraPreviewComponent style="flex: 1; height: 300px; margin-bottom: 5px;" ref="refCameraNoPreview" cameraFacing="1" @onError="onError"
        @onSuccess="onSuccess">
      </leven-cameraPreviewComponent>

 方法

takePhoto 拍照
if (this.$refs.refCameraNoPreview) {
  this.$refs.refCameraNoPreview.takePhoto()
}
cameraFacing 摄像头切换
 if (this.$refs.refCameraNoPreview) {
   this.$refs.refCameraNoPreview.cameraFacing()
 }
startRecorder 开始录像 
if (this.$refs.refCameraNoPreview) {
    this.$refs.refCameraNoPreview.startRecorder()
  }
stopRecorder 停止录像
if (this.$refs.refCameraNoPreview) {
   this.$refs.refCameraNoPreview.stopRecorder()
 }

事件 

 onError 错误
onError(data) {
   console.log(data)
 }
onSuccess 成功
onSuccess(data) {
   console.log("成功")
   console.log(data.detail)
   this.noticeText = data.detail.path
   if (data.detail.type == "image") {
     this.imageUrl = data.detail.path;
   } else {
     this.imageUrl = "";
   }
 }

 成功回调说明

  • path:生成的文件路径
  • type:类型:image/video

联系作者

购买插件前请先试用,试用通过再购买。在试用中如果遇到任何问题,可与作者联系,QQ:334106817,将全力协助你使用本插件。 

预览图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1160449.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ps提示vcruntime140.dll无法继续执行此代码的多种解决方法分享

我在安装Photoshop软件时遇到了一个问题&#xff0c;即在运行过程中弹出了一个错误提示框&#xff0c;显示“由于找不到vcruntime140.dll&#xff0c;无法继续执行此代码”&#xff0c;我通过查找资料了解到vcruntime140.dll是一个动态链接库文件&#xff0c;它是Visual C Redi…

MySQL主从复制---一主一从配置过程

1、mysql版本一致且后台以服务运行 2、主从都配置在[mysqld]结点下&#xff0c;都是小写 3、主机修改my.ini配置文件 配置信息说明&#xff1a; 1、主服务器唯一ID server-id1 2、启用二进制日志 log-bin自己本地的路径/data/mysqlbin log-binD:/devSoft/MySQLServer5.5…

自动化混沌工程 ChaosMeta V0.6 版本发布

混沌工程 ChaosMeta 的全新版本 V0.6.0 现已正式发布&#xff01;该版本包含了许多新特性和增强功能&#xff0c;在编排界面提供了包括流量注入、度量等各类节点的支持&#xff0c;可视化支撑演练全流程。解决混沌工程原则中“持续自动化运行实验”的最后一公里问题。 简介 Ch…

Spring Security认证:获得认证、持久化认证模块详解

参考&#xff1a;认证 :: Spring Security Reference (springdoc.cn) 本文将讲述Spring Security中与认证相关的各个基本模块&#xff0c;力求对整个认证框架提供完善的认知。 众所周知&#xff0c;认证Authentication实际上就是一个代表身份的类&#xff0c;实例就是具体的身…

第一章 01Java入门-常见的CMD命令

前言 学习常见的CMD命令 一、常见的CMD命令 常见的CMD命令主要包括切换盘符、查看当前路径下的内容、进入单级目录、回到上一级目录、进入多级目录、回退到盘符目录、清屏以及退出命令提示符窗口等。 二、代码演示 先从默认的C盘符切换到E盘符(E:),然后再查看E盘符下面的…

Redis的四种部署方案

这篇文章介绍Reids最为常见的四种部署模式&#xff0c;其实Reids和数据库的集群模式差不多&#xff0c;可以分为 Redis单机模式部署、Redis主从模式部署、Redis哨兵模式部署、Cluster集群模式部署&#xff0c;其他的部署方式基本都是围绕以下几种方式在进行调整到适应的生产环境…

【C++】多态 ⑩ ( 不建议将所有函数都声明为 virtual 虚函数 | 多态的理解层次 | 父类指针和子类指针步长 )

文章目录 一、不建议将所有函数都声明为 virtual 虚函数二、多态的理解层次三、父类指针和子类指针步长 对象可以直接获取到自身封装的 普通函数 , 如果要访问虚函数 , 需要增加一次寻址操作 , 因此 这里建议不需要将有 多态 需求的函数声明为 虚函数 ; C 中 指向某类型对象的…

有什么好用的仓库配件管理软件?如何实现企业配件管理智能化?

在当今高度信息化的商业环境中&#xff0c;企业运营的效率和管理的重要性日益凸显。对于许多企业来说&#xff0c;仓库配件管理是一个关键的环节&#xff0c;它不仅涉及到物品的存储和分发&#xff0c;还与企业的成本控制和运营流程紧密相关。然而&#xff0c;管理仓库配件是一…

C++快餐——C++11(3)

应该在脖子上长一个自己的脑袋 文章目录 function包装器bind绑定普通函数绑定成员函数std::bind优点 线程库thread类创建线程线程管理线程标识 原子性操作库(atomic)lock_guard与unique_lockstd::lock_guardstd::unique_lock mutex的种类总结 function包装器 C11引入了一个名为…

ubuntu启动报错error: proc_thermal_add, will cont

如题&#xff0c;ubuntu启动报错error: proc_thermal_add, will cont 截图如下&#xff1a; 困扰了我很久&#xff0c;差点就打算重装系统&#xff0c;准备放弃了&#xff0c;但是感谢国外的老哥&#xff0c;写了一篇非常详细的解决方案&#xff0c;我搬过来。 解决方案&#…

基础课14——文本标注

人工智能界流传一句俏皮话&#xff1a;“有多少人工&#xff0c;就有多少智能。” 1.人工智能数据标注介绍 2018年9月&#xff0c;百度智能云与山西综改示范区达成合作&#xff0c;在太原共同建立了百度&#xff08;山西&#xff09;人工智能基础数据产业基地&#xff08;简称…

AI时代,ChatGPT与文心一言选哪一个?

&#x1f388;个人公众号:&#x1f388; :✨✨✨ 可为编程✨ &#x1f35f;&#x1f35f; &#x1f511;个人信条:&#x1f511; 为与不为皆为可为&#x1f335; 你们平时都是在什么情况下使用GPT的呢&#xff1f;为何使用&#xff1f;都使用什么平台的&#xff1f; 针对以上问…

高防CDN的特点与作用

高级防护CDN是一种专门设计用于提供出色的网络安全功能的内容分发网络。它通过采用分布式节点、智能路由和强大的安全机制&#xff0c;旨在确保网站在面临各种网络攻击时保持安全&#xff0c;同时提供内容的快速传递和优化功能。那么&#xff0c;高级防护CDN有哪些独特的特点和…

win10pycharm和anaconda安装和环境配置教程

windows10 64位操作系统下系统运行环境安装配置说明 下载和安装Anaconda&#xff0c;链接https://www.anaconda.com/download 下载完后&#xff0c;双击exe文件 将anaconda自动弹出的窗口全部关掉即可&#xff0c;然后配置高级系统变量 根据自己的路径&#xff0c;配置…

前端移动高级web详细解析五

响应式布局方案 媒体查询 Bootstrap框架 01-媒体查询 基本写法 max-width&#xff1a;最大宽度&#xff08;小于等于&#xff09; min-width&#xff1a;最小宽度&#xff08;大于等于&#xff09; 书写顺序 min-width&#xff08;从小到大&#xff09; max-width&…

IDEA上也能用Postman了?

Postman是大家最常用的API调试工具&#xff0c;国产API调试工具 Apipost 推出IDEA插件&#xff0c;写完代码就可以调试接口并一键生成接口文档&#xff01;而且还可以根据已有的方法帮助您快速生成 url 和 params。Apipost Helper API 调试工具 API 管理工具 API 搜索工具。…

领先实践|IDEO 最佳设计思维和策略框架

设计思维是一种以人为本的创新方法&#xff0c;它从人类的角度出发&#xff0c;考虑技术上可行和经济上可行的内容。框架可以成为实现设计思维、策略和系统设计的有用工具。本文由此展开阐述 IDEO 的最佳设计思维和策略框架。 01. 设计思维框架 1.1 设计思维过程 设计思维?是…

【python】爬取豆瓣电影排行榜TOP250存储到CSV文件中

一、导入必要的模块&#xff1a; 代码首先导入了需要使用的模块&#xff1a;requests、lxml和csv。 import requests from lxml import etree import csv 如果出现模块报错 进入控制台输入&#xff1a;建议使用国内镜像源 pip install 模块名称 -i https://mirrors.aliyun.co…

Failed to launch task: 文件”Setup”不存在 Mac安装Adobe软件报错解决方案

在安装 Adobe 软件时&#xff0c;软件提示 Failed to launch task: 文件”Setup”不存在 &#xff0c;这个时候怎么处理呢&#xff1f; 解决方法如下&#xff1a; 1、安装 AnitCC 或 或 Creative Cloud 环境&#xff0c;保证软件所需要的环境 2、如果安装后也不起作用&#x…

[ThinkPHP]源码阅读:Model的获取器

目录 1、ThinkPHP组件版本 2、业务Model代码 3、阅读框架源码 4、跳过获取器获取原始数据写法 1、ThinkPHP组件版本 topthink/think-orm v2.0.58 topthink/think-helper v3.1.6 2、业务Model代码 原理&#xff1a;Model通过调用toArray方法使用自定义的获取器 3、阅读框架…