功能说明
输入相机的 openGL 纹理,实时输出手势检测数据。您可以利用这些数据做进一步的开发。
Android 接口说明
Android 集成指引
Android 接口调用
1. 打开手势检测功能开关(XmagicApi.java)。
public void setFeatureEnableDisable(String featureName, boolean enable);
featureName 填
XmagicConstant.FeatureName.HAND_DETECT
,enable 填true
。2. 设置数据回调(XmagicApi.java)
void setAIDataListener(XmagicApi.OnAIDataListener aiDataListener)public interface OnAIDataListener {void onFaceDataUpdated(List<TEFaceData> faceDataList);void onHandDataUpdated(List<TEHandData> handDataList);void onBodyDataUpdated(List<TEBodyData> bodyDataList);void onAIDataUpdated(String data);}
onAIDataUpdated
返回 JSON 结构的 string 数据。iOS 接口说明
iOS 集成指引
iOS 接口调用
1. 打开手势检测功能开关(Xmagic.h)。
- (void)setFeatureEnableDisable:(NSString *_Nonnull)featureName enable:(BOOL)enable;
featureName 填
HAND_DETECT
(可在 TEDefine.h 中引入),enable 填 true
。2. 设置数据回调(Xmagic.h)
- (void)registerSDKEventListener:(id<YTSDKEventListener> _Nullable)listener;- (void)onAIEvent:(id)event{NSDictionary *eventDict = (NSDictionary *)event;if (eventDict[@"ai_info"] != nil) {NSLog(@"ai_info %@",eventDict[@"ai_info"]);}}
eventDict[@"ai_info"]
即为返回的 JSON 结构的 string 数据。回调 JSON 数据说明
在回调的 JSON 数据中,
"hand_info"
里是手势相关的数据,格式如下所示。"hand_info": { "gesture": "PAPER", "hand_point_2d": [180.71888732910156, 569.2958984375, ... , 353.8714294433594, 836.246826171875]}
hand_info
中各字段说明如下:字段 | 含义 |
gesture | 手势类型名称 |
hand_point_2d | 捕捉到手势的数据信息 |
目前支持以下手势:
序号 | 手势 | 类型名称 | 示例图 |
1 | 手势1 | ONE | |
2 | 手势2 | SCISSOR | |
3 | 手势3 | THREE | |
4 | 手势4 | FOUR | |
5 | 手势5(open) | PAPER | |
6 | 手势6 | SIX | |
7 | 手势8 | EIGHT | |
8 | 比心 | HEART | |
9 | 拳头 | FIST | |
10 | 我爱你 | LOVE | |
11 | 点赞 | LIKE | |
12 | OK | OK | |
13 | 摇滚手势 | ROCK | |
14 | 托 | LIFT | |
如果为不可识别的手势,则类型名称为
OTHER
。