2020-10-19 19:35:13 +08:00

177 lines
8.5 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// IFlyIdentityVerifier.h
// IFlyMSC
//
// Created by 张剑 on 15/4/22.
// Copyright (c) 2015年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "IFlyIdentityVerifierDelegate.h"
/**
* 身份验证功能类
*/
@interface IFlyIdentityVerifier : NSObject
/*!
* 设置委托对象
*/
@property (nonatomic, assign) id <IFlyIdentityVerifierDelegate> delegate;
/**
* 返回身份验证对象的单例
*
* @return 身份验证对象的单例
*/
+ (instancetype) sharedInstance;
/**
* 销毁身份验证对象单例。
*
* @return 成功返回YES失败返回NO。
*/
+ (void)purgeSharedInstance;
/**
* 设置参数
*
* @param value 参数值
* @param key 参数名
*
* @return 设置的参数和取值正确返回YES,失败返回NO
*/
- (BOOL)setParameter:(NSString *)value forKey:(NSString *)key;
/**
* 开始会话
* 在这之后会开始各项业务。
*/
- (void)startWorking;
/*
* | ------------- |-----------------------------------------------------------
* | ifr 参数 | 描述
* | ------------- |-----------------------------------------------------------
* | data_format |数据格式:即图片格式支持jpg(默认)gif
* | ------------- |-----------------------------------------------------------
* | data_encoding |数据压缩编码即图片压缩编码支持raw(不压缩,默认值)
* | ------------- |-----------------------------------------------------------
* | wtt |等待超时时间: 支持大于0的整数默认为3000ms
* | ------------- |-----------------------------------------------------------
* | ivp 参数 | 描述
* | ------------- |-----------------------------------------------------------
* | rgn |训练次数取值2~9.无默认值,必须明确指定。
* | ------------- |-----------------------------------------------------------
* | |声纹确认门限值,验证得分>=tsd验证通过否则验证失败该参数目前不支持
* | tsd |作为保留参数。却只范围0~100.
* | ------------- |-----------------------------------------------------------
* | ptxt |密码文本。从服务端下载,比如数字密码所需要的数字串。
* | ------------- |-----------------------------------------------------------
* | pwdt |密码类型。取值1(文本密码),2(自由说),3(数字密码).
* | ------------- |-----------------------------------------------------------
* | fin |取消注册。取值0(不取消,即不生效),1(取消本次注册).
* | ------------- |-----------------------------------------------------------
* | wtt |等待超时时间:描述客户端等待结果的超时时间
* | ------------- |-----------------------------------------------------------
* | vad_enable |VAD功能开关。是否启用VAD处理取值1(开启,默认),0(不开启)。
* | ------------- |-----------------------------------------------------------
* | |头部静音最大长度。如果静音长度超过此值,则认为用户此次无有效音频输入。
* | vad_bos |此参数仅在打开VAD功能时生效。(云端暂时没有)。取值0~30000ms,
* | |默认为10000ms
* | ------------- |-----------------------------------------------------------
* | |尾部静音长度。如果尾部静音长度超过了此值,则认为音频已经结束。
* | |此参数仅在打开VAD功能时生效。(云端暂时没有)。取值0~30000ms,
* | vad_eos |默认为2000ms
* | ------------- |-----------------------------------------------------------
* | data_encoding |数据压缩编码,音频压缩编码。
* | ------------- |-----------------------------------------------------------
* | data_format |在声纹业务中为音频采样率取值16000(默认)8000
* | ------------- |-----------------------------------------------------------
* | ipt 参数 | 描述
* | ------------- |-----------------------------------------------------------
* | scope |操作范围 persongroup
* | ------------- |-----------------------------------------------------------
* | group_id |指定鉴别的组数字或者字符串,唯一值 不为空
* | ------------- |-----------------------------------------------------------
* | |组名称 “”或者不能包含^@,&=*'"等非法字符且长度不得超过255.
* | group_name |此参数可以为空,对于group_name约束不在云端控制由前段控制
* | ------------- |-----------------------------------------------------------
* | topc |[top candidates],返回得分最高的候选人数目 取值1-5 默认是1.
* | | 可以开放由用户设置最大topc值为5
* | ------------- |-----------------------------------------------------------
*
*/
/**
* 写入子业务数据、或者进行模型操作、下载密码。
*
* @param ssub 子业务名
* @param data 数据
* @param offset 偏移量
* @param length 长度
* @param params 参数
* <table>
* <thead>
* <tr><th>*ifr参数</th><th><em>描述</em></th></tr>
* </thead>
* <tbody>
* <tr><td>data_format</td><td>数据格式:即图片格式支持jpg(默认)gif</td></tr>
* <tr><td>data_encoding</td><td>数据压缩编码即图片压缩编码支持raw(不压缩,默认值)</td></tr>
* <tr><td>wtt</td><td>等待超时时间: 支持大于0的整数默认为3000ms</td></tr>
* </tbody>
* <thead>
* <tr><th>*ivp参数</th><th><em>描述</em></th></tr>
* </thead>
* <tbody>
* <tr><td>rgn</td><td>训练次数取值2~9.无默认值,必须明确指定。</td></tr>
* <tr><td>tsd</td><td>声纹确认门限值,验证得分>=tsd验证通过否则验证失败该参数目前不支持作为保留参数。却只范围0~100.</td></tr>
* <tr><td>ptxt</td><td>密码文本。从服务端下载,比如数字密码所需要的数字串。</td></tr>
* <tr><td>pwdt</td><td>密码类型。取值1(文本密码),2(自由说),3(数字密码).</td></tr>
* <tr><td>fin</td><td>取消注册。取值0(不取消,即不生效),1(取消本次注册).</td></tr>
* <tr><td>wtt</td><td>等待超时时间:描述客户端等待结果的超时时间.</td></tr>
* <tr><td>vad_enable</td><td>VAD功能开关。是否启用VAD处理取值1(开启,默认),0(不开启)。</td></tr>
* <tr><td>vad_bos</td><td>头部静音最大长度。如果静音长度超过此值,则认为用户此次无有效音频输入。</br>此参数仅在打开VAD功能时生效。(云端暂时没有)。</br>取值0~30000ms,默认为10000ms</td></tr>
* <tr><td>vad_eos</td><td>尾部静音长度。如果尾部静音长度超过了此值,则认为音频已经结束。</br>此参数仅在打开VAD功能时生效。(云端暂时没有)。</br>取值0~30000ms,默认为2000ms</td></tr>
* <tr><td>data_encoding</td><td>数据压缩编码,音频压缩编码。</td></tr>
* <tr><td>data_format</td><td>在声纹业务中为音频采样率取值16000(默认)8000</td></tr>
* </tbody>
* <thead>
* <tr><th>*ipt参数</th><th><em>描述</em></th></tr>
* </thead>
* <tbody>
* <tr><td>scope</td><td>操作范围 persongroup</td></tr>
* <tr><td>group_id</td><td>指定鉴别的组数字或者字符串,唯一值 不为空</td></tr>
* <tr><td>group_name</td><td>组名称 “”或者不能包含^@,&=*'"等非法字符且长度不得超过255.此参数可以为空,对于group_name约束不在云端控制由前段控制</td></tr>
* <tr><td>topc</td><td>组名称[top candidates],返回得分最高的候选人数目 取值1-5 默认是1.可以开放由用户设置最大topc值为5</td></tr>
* </tbody>
* </table>
*/
-(void)write:(NSString*)ssub data:(NSData*)data offset:(int)offset length:(int)length withParams:(NSString*)params;
/**
* 停止子业务数据写入
*
* @param ssub 子业务名:ivp,ifr,ipt
*/
-(void)stopWrite:(NSString*)ssub;
/**
* 执行模型查询、删除和声纹密码下载等操作
* *注意此方法不能与startWorking方法同时使用。
*
* @param ssub 子业务类型、可选值ivp(声纹)、ifr(人脸)、ipt(鉴别)
* @param cmd 操作命令可选值query、delete、download、add
* @param params 子业务参数参见write:data:offset:length:withParams:
*/
-(void)execute:(NSString*)ssub cmd:(NSString*)cmd params:(NSString*)params;
/**
* 取消本次会话
*/
- (void)cancel;
@end