美文网首页
自定义camera的爬坑之旅

自定义camera的爬坑之旅

作者: 乐小文 | 来源:发表于2016-09-28 11:36 被阅读0次

项目中使用到了自定义camera,并实现手势缩放和自动对焦。

一、首先来看看官方文档

goole给出了10个步骤,那么我们按照这十个步骤来实现自定义camera。

二、自定义camera要使用到的类

Camera                                 相机类,详情参照官方文档

Camera.Parameters             Camera的参数设置,如:对焦、闪光灯

SurfaceView                         预览Camera镜头的取景

SurfaceHolder                      surface的抽象接口,来控制surface的尺寸和格式

SurfaceHolder.Callback      控制该接口的客户端能够接收surface改变的信息

三、demo实现

1.布局文件

FrameLayout来填充Surface

一个前、后置转换ImageView和一个拍照ImageView 

2.Surface类的实现

创建一个Activity继承SurfaceView并实现SurfaceHolder.Callback接口

 (1)构造方法

 (2)三个Override的方法

 (3)相机参数初始化

 (4)释放相机

 (5)重置相机

 (6)方向控制

3.CameraActivity的实现

(1)将CameraPreview填充到FrameLayout

context= CameraActivity.this;

context一定要这样获取,使用

Context context;

方式获取会出错

 (2)初始化相机

 (3)对焦代码较多,就不截图了,直接上传文件,源文件可以直接使用到自定义Camera中

需要注意的是,实现缩放,必须给cameraPreview设置两个监听事件,一个是setOnClickListener,一个是setOnTouchListener

 (4)demo已经提交到github上了

CustomCamera 点击下载demo

相关文章

  • 自定义camera的爬坑之旅

    项目中使用到了自定义camera,并实现手势缩放和自动对焦。 一、首先来看看官方文档 goole给出了10个步骤,...

  • Android-自定义相机Camera

    前言 由于最近一个项目需要自定义相机这块,踩了很多坑,在这里做个记录,以防忘记。 Android Camera 相...

  • Vue爬坑之旅

    1.axios赋值的问题 描述:前后数据对接,使用nuxt整合的axios,使用vue中的钩子函数在页面组件挂载完...

  • TensorFlowOnSpark爬坑之旅

    写前碎碎念 小编leader安排一个任务,在TensorFlowOnSpark上运行一个可以run的demo,入职...

  • fragment 爬坑之旅

    参考:https://zhuanlan.zhihu.com/p/20660984 0.使用fragment时,注意...

  • Flutter爬坑之旅

    项目地址(github) 工作略忙,进度稍慢。以下把过程中的一些关键点总结一下: 1、项目开发时,Android ...

  • Android 多媒体 -- Camera拍照的使用

    Camera的使用。横竖屏,画面不变形 一、调用系统提供的拍照 二、自定义Camera 调用系统的Camera 实...

  • Android Camera实现毫秒级拍照

    我们知道自定义Camera需要以下几步 打开相机,即实例化Camera对象 设置Camera的相关参数 打开预览 ...

  • Android Camera旋转角度分析

    开发过Android自定义相机的朋友估计都被相机的各种乱七八糟的旋转角度适配坑过,本文将对Camera的各种角度进...

  • React Native爬坑之旅

    1. 部署到真机上会白屏问题 解决:打开应用的悬浮窗权限,然后重启,大多出现在小米手机上。(也有一部分原因是服务没...

网友评论

      本文标题:自定义camera的爬坑之旅

      本文链接:https://www.haomeiwen.com/subject/fancyttx.html