手撸的Android相机的官方文档(有自己的理解,翻译的可能有点不对)

本文详细介绍了Android相机开发的全过程,从Camera的介绍、权限声明,到使用系统照相APP,再到自建照相APP的实现,包括相机硬件的检测、摄像机的获取、预览类创建及布局显示,最后深入探讨了拍照功能的实现。文章以实践为主,适合Android开发者学习。
摘要由CSDN通过智能技术生成

   一.简介

        在撸项目和学习国外大佬撸代码的时候,看到了一个拍照的功能,觉得非常不错,看了源码。发现他的Camera是引用 compile 'com.commonsware.cwac:camera:0.6.12'
   ,它报了一个布局异常,说这个CameraView类不能被初始化看了代码没找出原因,百度也没搜到原因和解决方法。所以就索性去Gooogle官网去看了Camera的文档。顺便克服自己看英文文档就头疼的病吧。并且在这里把辛辛苦苦手敲的翻译笔记记一下。当自己不记得的时候,在回来回顾一下。然后在自己撸一个Camera类去返回到项目中去使用。接下来先贴出来官方的API文档的位置:官方Camera文档地址(我有翻译的不对的地方,大家可以跟我说,或者告诉我。)

   二.Camera的介绍

    1.   官方文档的翻译是这样的: Android框架包括对设备上各种摄像头和摄像头功能的支持,允许您在应用程序中捕获图片和视频。本文档讨论了一种快速、简单的图像和视频捕获方法,并概述了为用户创建自定义相机体验的高级方法。
   2. 我的理解是:可以通过这个解释来看,Camera是一个非常核心的类。他能够摄像和视频。那么需要做相应功能,都需要这个类。(给我自己看的)
   

   三.Camera相关的类

     1.android.hardware.camera2     (本人亲自测试,这个类找不到,只找到这个包名,我也不太清楚是为什么,可能我AS哪些地方配置不对,有大神可以留言告诉我)
           这个包是私有的API为了控制照相设备,它能够拍照或者是拍视频,当你正在构建一个拍照的应用(APP)

     2.Camera
       这个类是最老的并且被废弃的API为了控制照相设备(通过这里可以看出,Android原生API中还是用上面的那个camera2,并且camera2是Camera的升级(名义上的))

     3.SurfaceView
        这个类是用来提供一个动态的照相机给用户(也就是说,用户实质上看到的照相机就是由它提供的)

     4.MediaRecorder
         这个类是被用来去记录从相机中获取的视频

     5.Intent 
         一个Intent Action类型: MediaStore.ACTION_IMAGE_CAPTURE 或者 MediaStore.ACTION_VIDEO_CAPTURE 可以被用来去拍摄照片或者视频即使没有直接使用Camera类(从这里可以看出,可以直接唤起一个拍照的Actvity,可以推测就是android手机原生的拍照界面或者是原生的拍摄视频的界面)

     PS:这里是我导入的情况,这里我没发现这个类,只找到这个包。而且官方文档里说的功能介绍是Camera类,这个camera2没介绍。所以暂时不管了

     
     

     四.在Manifest中申明相应的权限

         Manifeset的相关声明:
            在开始使用Camera API 去完成你的应用之前,你应该确认你的manifest拥有恰当的声明去允许使用相机设备和其它相关联的特征
          1.Camera Permission:你的应用必须请求允许去使用相机设备
             <uses-permission android:name="android.permission.CAMERA" /> (这个好像是被例如了危险权限,必须要申明)

          注释:如果你正在使用相机通过引用一个存在的相机APP,你的应用不必去请求这个permission(就是如果通过Intent去唤起别的APP的拍照功能,就不必声明这个权限)

          2.Camera Features :你的应用必须也要申明相机部件的使用权限
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值