android相机开发(一)

2017-06-18  本文已影响109人  可笑的人人


最近在开发相机相关功能,顺便把学习到的知识总结一下,主要包括:

1、利用intent方式调用系统相机拍照;

2、利用Camera API在Android5.0版本以下开发相机;

3、利用Camera2 API在Android5.0以上版本开发相机;

4、Google CameraView开源库使用;

先总结一下利用intent方式调用系统相机拍照,可参考源码:https://github.com/kexiaoderenren/CameraApplication/blob/master/app/src/main/java/com/wine9/cameraapplication/IntentCaptureActivity.java

调用系统相机拍照方式比较简单,代码如下两行即可,然后在onActivityResult()中接收返回数据:

Intent intent =new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

startActivityForResult(intent, requestCode);

其中使用MediaStore.ACTION_IMAGE_CAPTURE为 拍照;使用MediaStore.ACTION_VIDEO_CAPTURE为录像。intent也可以附带部分参数:

intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,1):为指定相机拍照图像的质量,数值为0~1,数值越低则图像质量越差;

intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT):指定最大图片尺寸;

intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT):指定最大允许的记录持续时间

intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri pathUri);为指定相机拍照后图片保存目录,如果没有指定目录,照片存在系统默认的图片存储路径下。

注意:如果指定MediaStore.EXTRA_OUTPUT,则在拍照后onActivityResult(int requestCode,int  resultcode,Intent data)中的返回的data为null,无法获取到图片,只能通过该图像路径下获取。

调用相机方式比较简单,希望能与各位多多交流。运行代码至github下载运行:https://github.com/kexiaoderenren/CameraApplication

上一篇 下一篇

猜你喜欢

热点阅读