MGLiveDetectionDelegate.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. //
  2. // MGLiveDetectionDelegate.h
  3. // MGLivenessDetection
  4. //
  5. // Created by Megvii on 2017/5/10.
  6. // Copyright © 2017Year megvii. All rights reserved.
  7. //
  8. #import "LivenessEnumType.h"
  9. @class MGLiveDetectionManager;
  10. @class MGLivenessDetectionFrame;
  11. /**
  12. * 活体检测步骤
  13. */
  14. typedef enum : NSUInteger {
  15. /** 活体照镜子准备阶段 */
  16. MGLiveStepQuality = 0,
  17. /** 活体检测步骤 */
  18. MGLiveStepDetection,
  19. } MGLiveStep;
  20. /**
  21. * 活体检测模式
  22. */
  23. typedef enum : NSUInteger {
  24. /** 只做照镜子 */
  25. MGLiveDetectionTypeQualityOnly = 0,
  26. /** 照镜子步骤+ 活体步骤 */
  27. MGLiveDetectionTypeAll,
  28. } MGLiveDetectionType;
  29. @protocol MGLiveDetectionDelegate <NSObject>
  30. @required
  31. /**
  32. * 活体流程某个步骤结束
  33. *
  34. * @param manager 实例化对象
  35. * @param step 结束的活体步骤
  36. */
  37. - (void)detectionManager:(MGLiveDetectionManager *)manager finishWithStep:(MGLiveStep)step;
  38. /**
  39. * 活体检测完全结束
  40. *
  41. * @param manager 实例化对象
  42. */
  43. - (void)detectionManagerSucessLiveDetection:(MGLiveDetectionManager *)manager liveDetectionType:(MGLiveDetectionType)detectionType;
  44. /**
  45. * 每一张图片的检测结果
  46. *
  47. * @param manager 实例化对象
  48. * @param frame 每一帧的结果
  49. */
  50. - (void)detectionManager:(MGLiveDetectionManager *)manager frameWithImage:(MGLivenessDetectionFrame *)frame;
  51. /**
  52. * 活体检测失败
  53. *
  54. * @param manager 实例化对象
  55. * @param failedType 错误类型
  56. */
  57. - (void)detectionManager:(MGLiveDetectionManager *)manager finishWithError:(MGLivenessDetectionFailedType)failedType;
  58. /**
  59. * 活体检测每一次动作更新(动作切换既触发该方法)
  60. *
  61. * @param manager 实例化对象
  62. * @param actionType 活体动作类型
  63. * @param timeOut 该动作超时时间
  64. * @param step 当前第几个动作
  65. */
  66. - (void)detectionManager:(MGLiveDetectionManager *)manager liveChangeAction:(MGLivenessDetectionType)actionType timeOut:(NSUInteger)timeOut currentActionStep:(NSUInteger)step;
  67. /**
  68. * 照镜子阶段错误返回
  69. *
  70. * @param manager 实例化对象
  71. * @param error 错误信息(中文转码)
  72. */
  73. - (void)detectionManager:(MGLiveDetectionManager *)manager checkError:(NSString *)error;
  74. @end