1. 初始化摄像头操作类对象,三种<br>子类型initControl(context,view,type);<br>
入参确定操作摄像头类型,预览控件<br>
硬件上判断是否有摄像头<br>boolean hava = isSupportCamera();
2. 配置打开摄像头之前的操作,设置回调 <br>InitCameraConfig(...);
设置预览回调监听,OnPreviewListener()
设置预览控件状态回调监听,OnSurfaceStateListener()
3. 打开摄像头接口<br>OpenCamera(cameraType, CameraID) <br>
实现三种打开摄像头的方法<br>
设置摄像头相关的参数<br>,使用默认参数<br>
内部实现预览大小、照片大小、预览方向等参数
开启摄像头预览接口<br>StartPreview()
<font color="#c41230">可以选择主动设置参数,或不设置(使用默认)SetCameraParam(ParamBuilder)</font>
4. 停止摄像头预览,关闭摄像头<br>StopPreview() closeCamera() <br>
UVCCamera.close()
Camera.close()
Camera1功能函数
1.申请相关权限 <br>
requestPermission()
2.判断是否有可用的摄像头 <br>
isSupportCamera()
3.打开前/后置摄像头 <br>
openCamera(id)
4.设置预览相关参数 <br>
initCameraParamInfo()
5.给Camera设置预览的Display
setCameraDisplay()
6.holder设置预览回调 Callback<br>
setPreviewListener
7.开启预览,输出视频流数据data
startPreview()
onPreviewResult(data,width,height)
Camera2功能函数
1.申请相关权限 <br>
requestPermission()
2.判断设置是否支持Camera2
isSupportCamera()
3.获取Camera2列表及各自属性对象<br>
getCameraCharacteristics()
4.初始化摄像头参数<br>
initCameraParamInfo()
6.创建预览请求的Builder
createCaptureRequest()
7.创建预览会话
createCameraSession()
8.在会话状态回调中开启预览
setRepeatingRequest(build)
9.向上层回调预览数据data
onPreviewResult(data,width,height)
10.结束预览
stopPreview()
sessionClose() <br>
imageReaderClose()