本讲是Android Camera专题系列的第24讲,我们介绍Android Camera2 API专题的VendorTag实战,包括如下内容:
- 什么是Vendor Tag
- 操作VendorTag
视频在线观看:
加入知识星球与更多Camera同学交流
- 星球名称:深入浅出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);