还是先看效果:

这里还是再放一下预览图,方便如果觉得符合自己需求的兄弟萌可以看下去。
相机预览
这里我用的Camera2的API,具体有关Camera2的简介可以看下这篇博客https://blog.youkuaiyun.com/HardWorkingAnt/article/details/72786782
具体的Helper类可以移步到这里:https://github.com/wangshengyang1996/GLCameraDemo/tree/master/app/src/main/java/com/wsy/glcamerademo/camera2
我也是参考以上两个链接地址的博客/github的代码来完善CameraHelper类的。
当我们在确认权限开启后,即可初始化Helper。
fun initCamera() {
mTextureView ?: return
Log.d(TAG, "initCamera")
mCameraHelper = CameraHelper.Companion.Builder()
.cameraListener(this)
.specificCameraId(CAMERA_ID)
.mContext(mFragment?.context!!)
.previewOn(mTextureView)
.previewViewSize(
Point(
mTextureView.layoutParams.width,
mTextureView.layoutParams.height
)
)
.rotation(mFragment?.activity?.windowManager?.defaultDisplay?.rotation ?: 0)
.build()
Log.d(TAG, "mCameraHelper = $mCameraHelper is null ? -> ${mCameraHelper == null}")
mCameraHelper?.start()
switchText("请将人脸放入取景框中", "请点击按钮拍照")
}
那么start方法具体做的其实还是通过systemservice打开camera:
@Synchronized
fun start() {
Log.i(TAG, "start")
if (mCame

本文深入解析Android Camera2 API的使用方法,包括初始化过程、预览与拍照流程,以及如何处理图像数据。通过实例代码展示如何配置CameraHelper类,实现相机预览、设置曝光度与对焦,创建预览会话,以及拍照捕获图像。
最低0.47元/天 解锁文章
&spm=1001.2101.3001.5002&articleId=105389153&d=1&t=3&u=caf84097347c4c158d08506a816ff682)
2121





