Android 自定义相机Camera流程
Posted 摘星猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 自定义相机Camera流程相关的知识,希望对你有一定的参考价值。
1、如何利用 Camera 开发自定义相机?
a、Camera.getNumberOfCameras() 获取 相机数目返回一个 可用相机集合(前/后置)
int num=Camera.getNumberOfCameras();
b、遍历 相机 Camera.CameraInfo.CAMERA_FACING_BACK 是后置|| Camera.CameraInfo.CAMERA_FACING_FRONT 是前置相机
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
for (int i = 0; i < Camera.getNumberOfCameras(); i++)
Camera.getCameraInfo(i, cameraInfo);
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT)
//前置相机
else
//后置相机
c、打开相机 获得Camera 对象
Camera camera = Camera.open();
//Camera camera = Camera.open(i); 打开前置 用position 去打开
2、设置相机
a、获取相机属性
Camera.Parameters parameters = camera.getParameters()
// 设置图片格式
parameters.setPictureFormat(ImageFormat.JPEG);
// 设置JPG照片的质量
parameters.set("jpeg-quality", 100);
b、设置相机属性
// 设置图片格式
parameters.setPictureFormat(ImageFormat.JPEG);
// 设置JPG照片的质量
parameters.set("jpeg-quality", 100);
//预览的宽高 (很重要)
parameters.setPreviewSize(mPreviewWidth, mPreviewHeight); // 设置预览图像大小
//设置 闪光灯模式Camera.Parameters.FLASH_MODE_AUTO, Camera.Parameters.FLASH_MODE_ON, Camera.Parameters.FLASH_MODE_OFF, Camera.Parameters.FLASH_MODE_TORCH
parameters.setFlashMode(String valus);
camera.setParameters(parameters);
c、设置 设备方向
if (getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE)
//横屏 旋转90
camera.setDisplayOrientation(90);
else
//竖屏 不旋转
camera.setDisplayOrientation(0);
// 设置预览设备 (SurfaceView 的holder)
camera.setPreviewDisplay(mHolder)
3、开始预览
camera.startPreview();
4、拍照
camera.takePicture(null, null, new Camera.PictureCallback())
以上是关于Android 自定义相机Camera流程的主要内容,如果未能解决你的问题,请参考以下文章
Samsung Galaxy Camera Android API - 自定义相机应用程序
android学习到啥程度,可以开始写camera类的自定义相机