Android Camera(二)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Camera(二)相关的知识,希望对你有一定的参考价值。

参考技术A CameraManager、CameraDevice、CameraCharacteristics、CameraRequest与CameraRequest.Builder、CameraCaptureSession以及CaptureResult。

1. 开发相机必须的的权限就是 Manifest.permission.CAMERA 了,所以第一步要在Manifest中添加Camera permission:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" /></pre>

如果是6.0以上的手机还要动态申请权限,关于权限这块大家可以使用PermissionUtil全局管理。

2.获取CameraManager实例 开启相机

3.当相机成功打开后会回调onOpened方法,这里可以拿到CameraDevice对象,也就是具体的摄像头设备

4.设置相机一些参数 包括方向

5.开启预览

6.开启预览后获取实时流数据,onImageAvailable回调中的ImageRender获取实时流数据,这个数据是YUV_420_888的数据 ,我们可以存储数据也可以对数据流进行美颜滤镜操作,也可以推送给服务端。

7.当关闭界面或者停止预览时 :

以上是关于Android Camera(二)的主要内容,如果未能解决你的问题,请参考以下文章

sc7731 Android 5.1 Camera 学习之二 framework 到 HAL接口整理

Android20.3 拍照和视频录制

Android Camera2 拍照——使用TextureView

Android 11.0 Camera2 默认选择拍照尺寸修改及流程分析

android 怎么从camera中获取流

Android Camera:尝试在空对象引用上调用 android.hardware.Camera.getParameters()' 上的虚拟方法 Android Camera Parameters