从上面的这些看,Camera2这个API,细节慢慢,真可谓是想干啥就干啥,但是从另一方面也体现了,是真的难用,CameraX这个真的是码农的福音。但我后面可能要做个拍照的app,因此Camera2也是个绕不过去的东西,而且我测试下来发现,Camera2好像要比CameraX要快,就这一点,就要累死码农了。 这个项目我整理的代码可以从下面获得:...
}@OverridepublicvoidonDisconnected(@NonNullCameraDevice cameraDevice){// 当相机失去连接时执行以下操作:// 1. 释放访问许可// 2. 关闭相机// 3. 将正在使用的相机指向nullmCameraOpenCloseLock.release(); cameraDevice.close(); mCameraDevice =null; }@OverridepublicvoidonError(@NonNullCameraDevice cameraD...
2.3 在camera打开的回调中,可以获取到当前的camera对应的CameraDevice,在onOpened()中执行打开预览的操作。 private final CameraDevice.StateCallback mStateCallback = new CameraDevice.StateCallback() { @Override public void onOpened(@NonNull CameraDevice cameraDevice) { // This method is called when the ...
2.3在camera打开的回调中,可以获取到当前的camera对应的CameraDevice,在onOpened()中执行打开预览的操作。 private final CameraDevice.StateCallback mStateCallback = new CameraDevice.StateCallback() { @Override public void onOpened(@NonNull CameraDevice cameraDevice) { // This method is called when the c...
图1 camera2整体架构图 如上所示,整个camera2由一个CameraManager来进行统一管理,通过Context的getSystemService方法可以实例化CameraManager,然后该类主要通过三个类来对Camera进行操作。下面分别介绍一下: CameraDevice:描述一个照相机设备,一个Android设备可能会有多个摄像头,通过CameraId可以进行区别。它最主要有一个相...
文件名 Camera2ApiActivity.java packagecom.example.myapplication;importandroidx.annotation.NonNull;importandroidx.appcompat.app.AppCompatActivity;importandroidx.camera.camera2.impl.Camera2CaptureRequestBuilder;importandroidx.camera.core.CameraCaptureResult;importandroidx.core.app.ActivityCompat;importandroidx.core...
由于供应商和硬件规格的不同,构建Android相机应用比构建iOS相机应用要复杂得多。谷歌在Android 5中推出了Camera2,该接口比原来的Camera具有更丰富的控制功能。在本文中,我想用最少的代码分别用Camera和Camera2创建Android相机预览应用,并比较这两套API的使用差异。
笔者因为项目需要自定义相机,所以了解了一下 Android 关于 camera 这块的 API。Android SDK 21(LOLLIPOP) 开始已经弃用了之前的 Camera 类,提供了 camera2 相关 API,目前网上关于 camera2 API 介绍的资料比较少,笔者搜集网上资料,结合自己的实践,在这里做一个总结。
1)camera2包架构示意图: image 2) camera2包中的主要API结构图: image 3)主要API详解: CameraManager:摄像头管理器。这是一个全新的系统管理器,专门用于检测系统摄像头、打开系统摄像头。除此之外,调用CameraManager的getCameraCharacteristics(String)方法即可获取指定摄像头的相关特性。
Camera ID 相机编号 Sensor orientation 传感器方向 Width and height of the image required from the camera 相机所需图像的宽度和高度 This is achieved in the function below. The code concerning only the front camera is attached (it is similar for the rear camera): ...