Android:相机开发

作者: thiagooo0 | 来源:发表于2017-07-06 19:17 被阅读197次

权限

<uses-permission android:name="android.permission.CAMERA"></uses-permission>  
//自动对焦的权限
<uses-feature android:name="android.hardware.camera.autofocus" />  

通过surfaceView显示系统摄像头

1,设置SurfaceViewCallback()监听surfaceview的状态

surfaceView.getHolder().addCallback(...)

2,在callback中的各个方法里面,操作相机

在surfaceCreated(SurfaceHolder holder)方法中创建相机

camera = android.hareware.Camera.open();
//这个方法必须在startPreview方法前调用
camera.setPreviewDisplay(holder);

android.hardware.Camera.Parameters parameters = camera.getParameters();

//一些设置,可以不设
//分辨率
parameters.setPreviewSize(200, 200);
//每秒从摄像头捕获5帧画面
parameters.setPreviewFrameRate(20);
//照片输出格式
parameters.setPictureFormat(PixelFormat.JPEG);
camera.setParameters(parameters);

//开启前置摄像头
camera.startPreview();

在surfaceview销毁的时候释放摄像头

camera.stopPreview();
camera.release();

拍照

  • 拍照使用camera.tackPiture()这个方法。当调用camera.takePiture()之后,camera就会关闭预览,这时候需要重新调用startPreview()来开启预览。

  • tackPicture()需要传入三个参数,分别得到拍照瞬间的回调,没有压缩过的图片数据,jpeg的图片数据。如果不需要对图片进行处理,可以直接使用null代替。

//后两个参数都是一个返回byte[]的回调。byte[]可以自行转换为图片。
takePicture(ShutterCallback shutter, PictureCallback raw, PictureCallback jpeg) 
  • 拍照得到的图片不会自动存储哦,要自己把照片保存到本地。

自动对焦

autoFocus(),这个方法必须在startPreview和stopPreview()中间。
autoFocus()会提供一个回调接口,当对焦成功后,会调用此接口

参考资料

相关文章

  • 玩转谷歌相机——夜拍与延时摄影

    Google相机或称谷歌相机是Google为Android开发的相机应用程序。最初在Android 4.4 Kit...

  • TextureView+MediaPlayer实现在线短视频播放

    Android多媒体开发系列文章 Android多媒体开发:录音机 Android多媒体开发:照相机 Textur...

  • Android:相机开发

    权限 通过surfaceView显示系统摄像头 1,设置SurfaceViewCallback()监听surfac...

  • Android相机开发

    Android相机开发 申请权限 动态权限不要忘了 创建一个可以预览的界面 1.创建一个新工程 2.在新创建的工程...

  • android相机开发(一)

    最近在开发相机相关功能,顺便把学习到的知识总结一下,主要包括: 1、利用intent方式调用系统相机拍照; 2、利...

  • android之相机开发

    一.Android中开发相机应用的两种方式 Android系统提供了两种使用手机相机资源实现拍摄功能的方法,一种是...

  • Android相机开发总结

    Android原声相机使用,主要涉及到android.hardware.Camera、android.media....

  • Android相机开发(二)

    本篇总结了利用Camera API在Android5.0版本以下开发相机:本文参考文章http://https:/...

  • Android 水印相机开发

    水印相机是自定义相机的一种,实现方法有很多,我看了很多别人的做的很漂亮,我做的就很普通了,不过总算是实现了拍照加水...

  • Android Camera原理之camx hal架构之cam

    一、CAM CHI API功能介绍: Android开发了相机硬件接口,允许OEM生产 为最终用户提供高质量的相机...

网友评论

    本文标题:Android:相机开发

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