android相机开发(一)


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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容