本讲是Android Camera专题系列的第24讲,我们介绍Android Camera2 API专题的VendorTag实战。
更多资源:
资源 | 描述 |
---|---|
在线课程 | 极客笔记在线课程 |
知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 |
极客笔记圈 |
什么是VendorTag
VendorTag是OEM/手机厂商自定义的Metadata Key
三种类型
- Static(描述能力)
-
Control(设置请求)
-
Dynamic(实际生效)
操作VendorTag
步骤
- 定义Key
-
确认数据类型
-
调用get/set方法
实战
- 判断画面中是否有物体在移动
@SuppressLint("NewApi")
public static final CameraCharacteristics.Key<Byte[]> mVendorTag_faceLandmark_availableIds =
new CameraCharacteristics.Key<>(
"com.google.pixel.experimental2018.faceLandmark.availableIds",
Byte[].class);
@SuppressLint("NewApi")
public static final CaptureRequest.Key<Byte> mVendorTag_motion_detection_enable =
new CaptureRequest.Key<>(
"com.google.pixel.experimental2017.stats.motion_detection_enable",
Byte.class);
@SuppressLint("NewApi")
public static final CaptureResult.Key<Float> mVendorTag_camera_motion_x =
new CaptureResult.Key<>(
"com.google.pixel.experimental2017.stats.camera_motion_x",
Float.class);
@SuppressLint("NewApi")
public static final CaptureResult.Key<Float> mVendorTag_camera_motion_y =
new CaptureResult.Key<>(
"com.google.pixel.experimental2017.stats.camera_motion_y",
Float.class);
@SuppressLint("NewApi")
public static final CaptureResult.Key<Float> mVendorTag_subject_motion =
new CaptureResult.Key<>(
"com.google.pixel.experimental2017.stats.subject_motion",
Float.class);