IFlyIdentityVerifier.h 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. //
  2. // IFlyIdentityVerifier.h
  3. // IFlyMSC
  4. //
  5. // Created by 张剑 on 15/4/22.
  6. // Copyright (c) 2015年 iflytek. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "IFlyIdentityVerifierDelegate.h"
  10. /**
  11. * 身份验证功能类
  12. */
  13. @interface IFlyIdentityVerifier : NSObject
  14. /*!
  15. * 设置委托对象
  16. */
  17. @property (nonatomic, assign) id <IFlyIdentityVerifierDelegate> delegate;
  18. /**
  19. * 返回身份验证对象的单例
  20. *
  21. * @return 身份验证对象的单例
  22. */
  23. + (instancetype) sharedInstance;
  24. /**
  25. * 销毁身份验证对象单例。
  26. *
  27. * @return 成功返回YES,失败返回NO。
  28. */
  29. + (void)purgeSharedInstance;
  30. /**
  31. * 设置参数
  32. *
  33. * @param value 参数值
  34. * @param key 参数名
  35. *
  36. * @return 设置的参数和取值正确返回YES,失败返回NO
  37. */
  38. - (BOOL)setParameter:(NSString *)value forKey:(NSString *)key;
  39. /**
  40. * 开始会话
  41. * 在这之后会开始各项业务。
  42. */
  43. - (void)startWorking;
  44. /*
  45. * | ------------- |-----------------------------------------------------------
  46. * | ifr 参数 | 描述
  47. * | ------------- |-----------------------------------------------------------
  48. * | data_format |数据格式:即图片格式,支持jpg(默认),gif
  49. * | ------------- |-----------------------------------------------------------
  50. * | data_encoding |数据压缩编码:即图片压缩编码,支持raw(不压缩,默认值)
  51. * | ------------- |-----------------------------------------------------------
  52. * | wtt |等待超时时间: 支持大于0的整数,默认为3000ms
  53. * | ------------- |-----------------------------------------------------------
  54. * | ivp 参数 | 描述
  55. * | ------------- |-----------------------------------------------------------
  56. * | rgn |训练次数:取值2~9.无默认值,必须明确指定。
  57. * | ------------- |-----------------------------------------------------------
  58. * | |声纹确认门限值,验证得分>=tsd验证通过,否则验证失败(该参数目前不支持,
  59. * | tsd |作为保留参数。)却只范围:0~100.
  60. * | ------------- |-----------------------------------------------------------
  61. * | ptxt |密码文本。从服务端下载,比如数字密码所需要的数字串。
  62. * | ------------- |-----------------------------------------------------------
  63. * | pwdt |密码类型。取值:1(文本密码),2(自由说),3(数字密码).
  64. * | ------------- |-----------------------------------------------------------
  65. * | fin |取消注册。取值:0(不取消,即不生效),1(取消本次注册).
  66. * | ------------- |-----------------------------------------------------------
  67. * | wtt |等待超时时间:描述客户端等待结果的超时时间
  68. * | ------------- |-----------------------------------------------------------
  69. * | vad_enable |VAD功能开关。是否启用VAD处理,取值:1(开启,默认),0(不开启)。
  70. * | ------------- |-----------------------------------------------------------
  71. * | |头部静音最大长度。如果静音长度超过此值,则认为用户此次无有效音频输入。
  72. * | vad_bos |此参数仅在打开VAD功能时生效。(云端暂时没有)。取值:0~30000ms,
  73. * | |默认为10000ms
  74. * | ------------- |-----------------------------------------------------------
  75. * | |尾部静音长度。如果尾部静音长度超过了此值,则认为音频已经结束。
  76. * | |此参数仅在打开VAD功能时生效。(云端暂时没有)。取值:0~30000ms,
  77. * | vad_eos |默认为2000ms
  78. * | ------------- |-----------------------------------------------------------
  79. * | data_encoding |数据压缩编码,音频压缩编码。
  80. * | ------------- |-----------------------------------------------------------
  81. * | data_format |在声纹业务中为音频采样率,取值:16000(默认),8000
  82. * | ------------- |-----------------------------------------------------------
  83. * | ipt 参数 | 描述
  84. * | ------------- |-----------------------------------------------------------
  85. * | scope |操作范围 person,group
  86. * | ------------- |-----------------------------------------------------------
  87. * | group_id |指定鉴别的组数字或者字符串,唯一值 不为空
  88. * | ------------- |-----------------------------------------------------------
  89. * | |组名称 “”或者不能包含^@,&=*'"等非法字符,且长度不得超过255.
  90. * | group_name |此参数可以为空,对于group_name约束不在云端控制,由前段控制
  91. * | ------------- |-----------------------------------------------------------
  92. * | topc |[top candidates],返回得分最高的候选人数目 取值1-5 默认是1.
  93. * | | 可以开放由用户设置,最大topc值为5
  94. * | ------------- |-----------------------------------------------------------
  95. *
  96. */
  97. /**
  98. * 写入子业务数据、或者进行模型操作、下载密码。
  99. *
  100. * @param ssub 子业务名
  101. * @param data 数据
  102. * @param offset 偏移量
  103. * @param length 长度
  104. * @param params 参数
  105. * <table>
  106. * <thead>
  107. * <tr><th>*ifr参数</th><th><em>描述</em></th></tr>
  108. * </thead>
  109. * <tbody>
  110. * <tr><td>data_format</td><td>数据格式:即图片格式,支持jpg(默认),gif</td></tr>
  111. * <tr><td>data_encoding</td><td>数据压缩编码:即图片压缩编码,支持raw(不压缩,默认值)</td></tr>
  112. * <tr><td>wtt</td><td>等待超时时间: 支持大于0的整数,默认为3000ms</td></tr>
  113. * </tbody>
  114. * <thead>
  115. * <tr><th>*ivp参数</th><th><em>描述</em></th></tr>
  116. * </thead>
  117. * <tbody>
  118. * <tr><td>rgn</td><td>训练次数:取值2~9.无默认值,必须明确指定。</td></tr>
  119. * <tr><td>tsd</td><td>声纹确认门限值,验证得分>=tsd验证通过,否则验证失败(该参数目前不支持,作为保留参数。)却只范围:0~100.</td></tr>
  120. * <tr><td>ptxt</td><td>密码文本。从服务端下载,比如数字密码所需要的数字串。</td></tr>
  121. * <tr><td>pwdt</td><td>密码类型。取值:1(文本密码),2(自由说),3(数字密码).</td></tr>
  122. * <tr><td>fin</td><td>取消注册。取值:0(不取消,即不生效),1(取消本次注册).</td></tr>
  123. * <tr><td>wtt</td><td>等待超时时间:描述客户端等待结果的超时时间.</td></tr>
  124. * <tr><td>vad_enable</td><td>VAD功能开关。是否启用VAD处理,取值:1(开启,默认),0(不开启)。</td></tr>
  125. * <tr><td>vad_bos</td><td>头部静音最大长度。如果静音长度超过此值,则认为用户此次无有效音频输入。</br>此参数仅在打开VAD功能时生效。(云端暂时没有)。</br>取值:0~30000ms,默认为10000ms</td></tr>
  126. * <tr><td>vad_eos</td><td>尾部静音长度。如果尾部静音长度超过了此值,则认为音频已经结束。</br>此参数仅在打开VAD功能时生效。(云端暂时没有)。</br>取值:0~30000ms,默认为2000ms</td></tr>
  127. * <tr><td>data_encoding</td><td>数据压缩编码,音频压缩编码。</td></tr>
  128. * <tr><td>data_format</td><td>在声纹业务中为音频采样率,取值:16000(默认),8000</td></tr>
  129. * </tbody>
  130. * <thead>
  131. * <tr><th>*ipt参数</th><th><em>描述</em></th></tr>
  132. * </thead>
  133. * <tbody>
  134. * <tr><td>scope</td><td>操作范围 person,group</td></tr>
  135. * <tr><td>group_id</td><td>指定鉴别的组数字或者字符串,唯一值 不为空</td></tr>
  136. * <tr><td>group_name</td><td>组名称 “”或者不能包含^@,&=*'"等非法字符,且长度不得超过255.此参数可以为空,对于group_name约束不在云端控制,由前段控制</td></tr>
  137. * <tr><td>topc</td><td>组名称[top candidates],返回得分最高的候选人数目 取值1-5 默认是1.可以开放由用户设置,最大topc值为5</td></tr>
  138. * </tbody>
  139. * </table>
  140. */
  141. -(void)write:(NSString*)ssub data:(NSData*)data offset:(int)offset length:(int)length withParams:(NSString*)params;
  142. /**
  143. * 停止子业务数据写入
  144. *
  145. * @param ssub 子业务名:ivp,ifr,ipt
  146. */
  147. -(void)stopWrite:(NSString*)ssub;
  148. /**
  149. * 执行模型查询、删除和声纹密码下载等操作
  150. * *注意此方法不能与startWorking方法同时使用。
  151. *
  152. * @param ssub 子业务类型、可选值:ivp(声纹)、ifr(人脸)、ipt(鉴别)
  153. * @param cmd 操作命令,可选值:query、delete、download、add
  154. * @param params 子业务参数,参见write:data:offset:length:withParams:
  155. */
  156. -(void)execute:(NSString*)ssub cmd:(NSString*)cmd params:(NSString*)params;
  157. /**
  158. * 取消本次会话
  159. */
  160. - (void)cancel;
  161. @end