双录Android SDK
1. IdrsSdk功能接口
getInstance
函数说明
获取IdrsSdk单例。
函数原型
/**
* 获取IdrsSdk单例
*/
public static IdrsSdk getInstance()
参数说明
无
返回值
无。
init
函数说明
IdrsSdk初始化方法。初始化IdrsSdk之前,要到双录质检控制台上注册app应用,拿到app id。初始化IdrsSdk时会校验此app id。初始化结果会在回调函数SdkInitCallBack中返回
函数原型
/**
* 初始化IdrsSdk
*/
public void init(String appId, String ak,String sk,final Context context, final SdkInitCallBack callBack)
参数说明
参数 | 必须 | 描述 |
---|---|---|
appId | 必须 | 双录质检控制台上注册的app应用的app id |
ak | 必须 | 双录质检控制台上注册的app应用的ak |
sk | 必须 | 双录质检控制台上注册的app应用的sk |
Android.content.Context | 必须 | activity的context |
SdkInitCallBack | 必须 | 初始化结果回调函数 |
返回值
无。
IdrsSdk.SdkInitCallBack
接口说明
初始化IdrsSdk的结果回调接口,需要override一个方法:result。
接口原型
/**
* 初始化IdrsSdk的结果回调接口。初始化结果会在result方法中返回
*/
public interface SdkInitCallBack {
void result(String message);
}
方法说明
返回值 | 必须 | 描述 |
---|---|---|
message | 必须 | 初始化IdrsSdk的结果。结果为”OK”为初始化成功。否则返回初始化识别的错误码 |
返回值
无。
detectScreenRotate
函数说明
监听屏幕旋转。在activity的onCreate方法中,调用此方法,来监听屏幕旋转
函数原型
/**
* 监听屏幕旋转
*/
public void detectScreenRotate(Context context)
参数说明
参数 | 必须 | 描述 |
---|---|---|
Android.content.Context | 必须 | activity的context |
返回值
无。
startDetectFace
函数说明
人脸检测方法。输入参数是摄像头采集到的一帧数据。输出参数是检测到的人脸集合。
函数原型
/**
* 人脸检测
* @param data
* @param imageWidth
* @param imageHeight
* @param angle
* @param needFlipX
* @return
*/
public DectetResult[] startDetectFace(byte[] data, int imageWidth, int imageHeight, int angle, boolean needFlipX)
参数说明
参数 | 必须 | 描述 |
---|---|---|
data | 必须 | 摄像头采集到的一帧图片数据。这个数据可以直接从CameraView.onPreviewFrame中获取 |
imageWidth | 必须 | 摄像头采集到的一帧图片数据的宽度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
imageHeight | 必须 | 摄像头采集到的一帧图片高度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
angle | 必须 | 摄像头采集到的一帧图片角度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
needFlipX | 必须 | 摄像头采集到的一帧图片信息。这个数据可以直接从CameraView.onPreviewFrame中获取 |
返回值
DectetResult:人脸检测结果数组。检测到几个人,数组中有几个元素。
getFeature
函数说明
计算人脸特征值。根据人脸检测中检测到的人脸结果,计算这个人脸的特征值。用于后续的人照对比方法。
函数原型
/**
* 获取人脸特征值
* @param dectetResult
* @return result
*/
public float[] getFeature(DectetResult dectetResult)
参数说明
参数 | 必须 | 描述 |
---|---|---|
dectetResult | 必须 | 人脸检测结果。其中能有人脸的图像数据 |
返回值
float:人脸特征值。
getBitmapFeature
函数说明
检测照片中的人脸特征值。
函数原型
/**
* 检测照片中的人脸特征值
* @param bitmap
* @return float
*/
public float[] getBitmapFeature(Bitmap bitmap)
参数说明
参数 | 必须 | 描述 |
---|---|---|
bitmap | 必须 | 照片Bitmap数据 |
返回值
float:人脸特征值。
faceRecognitionSimilarity
函数说明
人照对比方法。 使用场景是:CameraView的onPreviewFrame中能拿到每帧图片,每帧图片都调用startDetectFace方法检测出当前帧中的所有人脸。先计算出当前帧中的人脸特征值,再与预先角色的照片的特征值做对比。输出参数是比对结果,值是0-1之间的小数。>0.5认为是feature1和feature2所对应的照片是同一个人。
函数原型
/**
* 人照对比
* @param features1
* @param features2
* @return result
*/
public float faceRecognitionSimilarity(float[] features1, float[] features2)
参数说明
参数 | 必须 | 描述 |
---|---|---|
features1 | 必须 | 人脸特征值 |
features2 | 必须 | 人脸特征值 |
返回值
float:人照对比检测结果。
inferenceFaceLiveness
函数说明
活体检测。 使用场景是:CameraView的onPreviewFrame中能拿到每帧图片,每帧图片都调用startDetectFace方法检测出当前帧中的所有人脸。并将此检测结果与图像数据传入。输出参数是检测结果,值是type_score类型的字符串。其中type为0/1/2,0为真人,1为照片,2为视频。score为0-1的小数,数值越大,结果越准确。
函数原型
/**
* 活体检测
* @param data
* @param imageWidth
* @param imageHeight
* @param faceDetectResult
* @return
*/
public String inferenceFaceLiveness(byte[] data, int imageWidth, int imageHeight, DectetResult faceDetectResult)
参数说明
参数 | 必须 | 描述 |
---|---|---|
data | 必须 | 摄像头采集到的一帧图片数据。这个数据可以直接从CameraView.onPreviewFrame中获取 |
imageWidth | 必须 | 摄像头采集到的一帧图片数据的宽度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
imageHeight | 必须 | 摄像头采集到的一帧图片高度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
faceDetectResult | 必须 | 人脸检测结果 |
返回值
String:活体检测结果。
startHandDetection
函数说明
开启签名动作识别。
函数原型
/**
* 开启签名动作识别
*/
public ArrayList<HandDetectionResult> startHandDetection(byte[] data, int imageWidth, int imageHeight, int angle, boolean isFrontCamera,boolean isStatic)
参数说明
参数 | 必须 | 描述 |
---|---|---|
data | 必须 | 摄像头采集到的一帧图片数据。这个数据可以直接从CameraView.onPreviewFrame中获取 |
imageWidth | 必须 | 摄像头采集到的一帧图片数据的宽度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
imageHeight | 必须 | 摄像头采集到的一帧图片高度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
angle | 必须 | 摄像头采集到的一帧图片角度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
isFrontCamera | 必须 | 是否是从前置摄像头中获取的视频数据 |
isStatic | 必须 | 是否是静态手势检测,false:动态手势,true静态手势 |
返回值
ArrayList
签名动作结果数组
ocr_run
函数说明
开启身份证识别。
函数原型
/**
* 开启身份证识别
*/
public String ocr_run(int width, int height, byte[] data, float[] roi, int rotation, boolean mirror, boolean isFront)
参数说明
参数 | 必须 | 描述 |
---|---|---|
width | 必须 | 摄像头采集到的一帧图片数据的宽度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
height | 必须 | 摄像头采集到的一帧图片高度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
data | 必须 | 摄像头采集到的一帧图片数据。这个数据可以直接从CameraView.onPreviewFrame中获取 |
roi | 必须 | 身份证标识框所在位置的roi数据,传入null全图识别 |
rotation | 必须 | 摄像头采集到的一帧图片角度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
mirror | 必须 | 是否是镜像数据 |
isFront | 必须 | 是否识别身份证正面,true:识别身份证正面,false:识别身份证背面 |
返回值
String 检测结果
ocr_run_Bitmap
函数说明
开启身份证识别。
函数原型
/**
* 识别身份证图片
*/
public String ocr_run_Bitmap(Bitmap bitmap, float[] roi, int rotation, boolean isFront)
参数说明
参数 | 必须 | 描述 |
---|---|---|
Bitmap | 必须 | 要识别的身份证图片 |
roi | 必须 | 身份证标识框所在位置的roi数据,传入null全图识别 |
rotation | 必须 | 摄像头采集到的一帧图片角度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
isFront | 必须 | 是否识别身份证正面,true:识别身份证正面,false:识别身份证背面 |
返回值
String 检测结果
viewRectToFrameRect
函数说明
获取身份证识别中所需roi参数。
函数原型
/**
* 获取身份证识别中所需roi参数
*/
public RectF viewRectToFrameRect(RectF viewRect, int viewWidth, int viewHeight, int frameWidth, int frameHeight, boolean mirror, int rotate)
参数说明
参数 | 必须 | 描述 |
---|---|---|
viewRect | 必须 | 身份证识别框的Rect |
viewWidth | 必须 | 当前CameraView的宽度 |
viewHeight | 必须 | 当前CameraView的高度 |
frameWidth | 必须 | 摄像头采集到的一帧图片数据的宽度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
frameHeight | 必须 | 摄像头采集到的一帧图片高度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
mirror | 必须 | 是否是镜像数据 |
rotation | 必须 | 摄像头采集到的一帧图片角度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
返回值
ArrayList
签名动作结果数组
startDialog
函数说明
开启激活词检测。检测结果会通过回调函数Handler输出
函数原型
/**
* 开启激活词检测
*/
public void startDialog(Handler handler)
参数说明
参数 | 必须 | 描述 |
---|---|---|
handler | 必须 | 处理激活词结果的handler |
返回值
无。
startDialogforData
函数说明
开启激活词识别。此方法需要您从别处获取到的音频数据,添加到com.aliyun.idrs.IDRSSDK.Queue中,激活词服务会去com.aliyun.idrs.IDRSSDK.Queue中获取音频数据来进行检测。
函数原型
/**
* 开启激活词识别
*/
public void startDialogforData(Handler handler)
参数说明
参数 | 必须 | 描述 |
---|---|---|
handler | 必须 | 识别出激活词后,会通过此handler接收识别结果message |
返回值
无。
stopDialog
函数说明
关闭激活词检测。
函数原型
/**
* 关闭激活词检测
*/
public void stopDialog()
参数说明
无
返回值
无。
setparamTts
函数说明
设置参数,设置成功后下次合成将采用新的参数。
函数原型
/**
* set tts parameter in key value format.
* @param param param in string, according to api documents.
* @param value param value, according to api documents.
* @return status: true: set success; false: set failed
*/
public void setparamTts(String key, String value);
参数说明
TTS设置参数列表:
参数 | 类型 | 取值 | 含义 |
---|---|---|---|
device_type | string | 默认为car | 设备类型 |
mode_type | string | 0/1/2,默认为2 | 1:引擎初始化阶段,若配置文件里值为1,则本地引擎和云端引擎同时初始化;设为0,则只初始化本地引擎;设为2,则只初始化云端引擎。2:播放阶段:只初始化本地引擎,单次任务只能用本地引擎合成;只初始化云端引擎,单次任务只能用云端引擎合成;同时初始化云端和本地引擎,可以通过接口进行本地和云端切换 |
smart_engine | string | 默认为3 | 用于精简SDK(保留) |
speed_level | string | [0,2],默认1.0 | 语速,值越大语速越快。设置的值超过范围将取默认值 |
pitch_level | string | [-500,500],默认0 | 声调,值越大声音越尖锐。设置的值超过范围将取默认值 |
highpass | string | 默认取值”300 equalizer 2000 2q 5” | 如果要关闭highpass,设为”0”。目前该参数只对本地合成有效 |
font_name | string | 默认xiaoyun | 发音人,参照Tab2.发音人列表 |
extend_font_name | string | name:path | 改接口只用于本地引擎的发音人切换。发音人名称和资源所在路径用”:”号隔开,如“xiaoyun:/sdcard/”,SDK将进入该目录去搞xiaoyun这个二进制文件并进行加载,加载成功后,为节约内存消耗,将从引擎中释放原font资源;如果加载失败,则继续用原来的font。 |
volume | string | [0,2.6],默认1.0 | 音量,值越大音量越大。设置的值超过范围将取默认值。为避免截幅引入“吱吱”噪声,建议取值限定在1.5以下 |
play_audio | string | 0或1,默认0 | 是否播放,取0时只合成不播放;取1时,引擎初始化audiomanger则可以进行播放 |
wait_time | string | 默认2000 | 超时等待时间 |
token | string | NULL | 访问线上服务token |
url | string | NULL | 访问线上服务地址 |
direct_host | string | false/true,默认false | 是否直接使用host,省去dns解析查询的时间 |
host | string | NULL | 设置服务host |
appkey | string | NULL | 访问线上服务appkey |
callback_raw_data | string | 0/1,默认0 | 0:回调原始数据;1:回调解码后数据,如原始合成数是mp3,那么将回调pcm数据 |
networkstatus | string | broken/poor/good,默认good | broken:网络状况非常差,基本无网.如果初始化本地引擎,将跳过云端合成直接使用本地合成;poor:弱网,云端响应时间较长(甚至无响应)good:网络状况较好 |
network_timeout | string | 网络超时时间 | 和语音服务建立连接的超时时间 |
bgm | string | off/volume:name | 默认offoff:关闭背景音乐;”volume:name”:第一部分是背景音乐音量,第二部分是背景音乐的名字(具有可读权限),如”0.3:/sdcard/tmp/1.wav”目前不支持加载网络背景音乐支持背景音乐的格式为“wav/pcm/mp3”,sdk是以后缀判别格式,要保证后缀名与格式对应,否则会造成解码失败,引入背景噪声 |
cache | string | off/max_size:save_path | 默认offoff:关闭cache”max_size:save_path”:第一部分是允许cache文件大小总和,第二部分是cache路径。通过该参数可以实现cache路径及缓存大小的重新设置,同时支持关闭开启cache功能。 |
debug_level | string | 0/1/2/3/4/5 | 日志等级:0:verbose 无过滤1:debug2:info3:warning4:error |
debug_path | string | /sdcard/ | 日志文件存储路径 |
发音人列表:
发音人 | 参数名称 | 语种/方言 | 音色 |
---|---|---|---|
小酷宝[云/本地] | xiaokubao | 普通话 | 奶油小生 |
小月[云/本地] | byn | 普通话 | 清爽女生 |
若曦[云] | ruoxi | 普通话 | 青年女生 |
小云[云/本地] | xiaoyun | 普通话 | 青年女声 |
小刚[云/本地] | xiaogang | 普通话 | 青年男声 |
小莎[本地] | xiaosha | 粤语 | 青年女声 |
返回值
无
getparamTts
函数说明
获取合成参数。
函数原型
/**
* get param value.
* @param param you want to get.
* @return value
*/
public String getparamTts(String key);
参数说明
参数 | 类型 | 描述 |
---|---|---|
key | String | 获取参数 |
返回值
参数值。
startTts
函数说明
开启TTS语音合成。
函数原型
/**
* 开启TTS语音合成
*/
public void startTTs(String text, AudioService.TTsListener listener)
参数说明
参数 | 必须 | 描述 |
---|---|---|
text | 必须 | 待合成的文本 |
AudioService.TTsListener listener | 非必须 | 返回是否播放完成,还有合成的pcm数据 |
返回值
无。
AudioService.TTsListener
类说明
开启TTS语音合成回调。
函数原型
public interface TTsListener {
void onPlayComplete();
void onDataCallback(byte[] text, int work_idx, byte[] data);
}
函数说明
参数 | 必须 | 描述 |
---|---|---|
onDataCallback | 必须 | 第一个参数没用,第二个参数:当前播放的文字位置,第三个参数:pcm数据 |
onPlayComplete | 必须 | 播放完成回调 |
返回值
无。
cancelTts
函数说明
结束TTS语音合成。
函数原型
/**
* 结束TTS语音合成
*/
public void cancelTts()
参数说明
无
返回值
无。
pauseTts
函数说明
发送暂停播放语音事件。
函数原型
/**
* 发送暂停播放事件
*/
public void pauseTts()
参数说明
无
返回值
无。
resumeTts
函数说明
发送继续播放语音事件。
函数原型
/**
* 发送继续播放语音事件
*/
public void resumeTts()
参数说明
无
返回值
无。
release
函数说明
释放资源。
函数原型
/**
* 释放资源
*/
public void release()
参数说明
无
返回值
无。
setHandDetectparam
函数说明
设置动作识别参数
函数原型
public void setHandDetectparam(HandDetectParamConfig config)
参数说明
参数 | 必须 | 描述 |
---|---|---|
HandDetectParamConfig | 必须 | 动作识别参数类 |
返回值
无。
HandDetectParamConfig
类说明
动作识别参数
类原型
public class HandDetectParamConfig {
public boolean supportBodyKeypointDetect = false;
public float PHONE_ACTION_SCROLL = 1.0f;
public float PHONE_ACTION_SIGN = 0.05f;
public float PHONE_ACTION_TIME = 0.0f;
public float PHONE_ACTION_IOU = 0.0f;
public float CLASSIFY_THRESHOLD = 0.5f;
public int DETECT_IMG_SIZE = 480;
}
参数说明
参数 | 必须 | 描述 |
---|---|---|
supportBodyKeypointDetect | 非必须 | 是否支持动作主体识别,默认false |
PHONE_ACTION_SCROLL | 非必须 | 手持手机翻页阈值, 范围[0,1], 参数值越大, 手持手机翻页需要划动的范围越大, default 1.0 |
PHONE_ACTION_SIGN | 非必须 | 手持手机签字阈值, 范围[0,1], 参数值越大, 手持手机签字需要划动的范围越大, default 0.05 |
PHONE_ACTION_TIME | 非必须 | 手持手机时间阈值, 范围[0,1], 参数值越大, 手持手机动作需要的时间越长, default 0.0 |
PHONE_ACTION_IOU | 非必须 | 手持手机IOU阈值, 范围[0,1], 参数值越大, 手持手机动作需要的IOU越大, default 0.0 |
CLASSIFY_THRESHOLD | 非必须 | 手势识别阈值[0,1], 阈值越大, 误识别越少, 但漏识别会增加, default 0.5 |
DETECT_IMG_SIZE | 非必须 | 手部检测输入的图像大小, default: 480 |
返回值
无。
2. Recorder功能接口
init
函数说明
Recorder初始化方法。
函数原型
/**
* 初始化IdrsSdk
*/
public void init(Context context)
参数说明
参数 | 必须 | 描述 |
---|---|---|
Android.content.Context | 必须 | activity的context |
返回值
无。
feedVideoData
函数说明
获取外部视频数据。
函数原型
/**
* 获取外部视频数据
*/
public void feedVideoData(final byte[] data)
参数说明
参数 | 必须 | 描述 |
---|---|---|
data | 必须 | 由外部获取到到视频数据 |
返回值
无。
feedAudioData
函数说明
获取外部音频数据。
函数原型
/**
* 获取外部音频数据
*/
public void feedAudioData(final byte[] data, int len)
参数说明
参数 | 必须 | 描述 |
---|---|---|
data | 必须 | 由外部获取到到音频数据 |
返回值
无。
prepare
函数说明
录像前的准备。
函数原型
/**
* 录像前的准备
*/
public int prepare(String outputFile)
参数说明
参数 | 必须 | 描述 |
---|---|---|
outputFile | 必须 | 待保存的录像视频的文件路径 |
返回值
0为准备成功,-1为准备失败
startRecord
函数说明
开启录像
函数原型
/**
* 开始录像
* @param cameraView: Requied. 当前activity上的CamereView.
* @param outputFile: Requied. 保存录像的文件路径
*/
public int startRecord(CameraView cameraView, String outputFile)
参数说明
参数 | 必须 | 描述 |
---|---|---|
cameraView | 必须 | 当前activity上的CamereView |
outputFile | 必须 | 录像保存的目录。例如:this.getExternalFilesDir(Environment.DIRECTORYMOVIES).getPath()+”/“+”mp4“ + new SimpleDateFormat(“MM_dd_HH_mm_ss”, Locale.CHINA).format(new Date()) + “.mp4” |
返回值
0
stopRecord
函数说明
停止录像
函数原型
/**
* 停止录制
@return savedFile: the full path of the saved file
*/
public void stopRecord()
参数说明
无
返回值
无
3.FaceRecognizeInput功能接口
addRole
函数说明
添加一个检测角色
函数原型
/**
* 添加一个检测角色
*/
public boolean addRole(String id, String name, Bitmap bitmap)
参数说明
参数 | 必须 | 描述 |
---|---|---|
id | 必须 | 角色id。例如投保人/被保人 |
name | 必须 | 人员名称。 |
bitmap | 必须 | 人脸照片信息 |
返回值
booean: 是否添加成功。添加角色前,先对人脸照片信息做一次人脸检测。如果检测到多个人脸,则添加失败。
removeRole
函数说明
删除一个检测角色
函数原型
/**
* 添加一个检测角色
*/
public void removeRole(String id)
参数说明
参数 | 必须 | 描述 |
---|---|---|
id | 必须 | 角色id。例如投保人/被保人 |
返回值
无
getRoles
函数说明
获取当前需要检测的角色列表
函数原型
/**
* 获取当前需要检测的角色列表
*/
public Map<String, Role> getRoles()
参数说明
无
返回值
当前角色map。
getRoleNames
函数说明
获取当前需要检测的角色名称列表
函数原型
/**
* 获取当前需要检测的角色列表
*/
public ArrayList<String> getRoleNames()
参数说明
无
返回值
当前角色名称的数组。
4. Queue功能接口
getInstance
函数说明
Queue是配合激活词识别使用,app将获取到到音频数据中放如Queue中,激活词服务会从Queue中拿音频数据做检测。
函数原型
/**
* 获取当前队列实例
*/
public static Queue getInstance()
参数说明
无
返回值
当前队列实例。
init
函数说明
队列初始化。
函数原型
/**
* 队列初始化
*/
public void init(int length)
参数说明
参数 | 必须 | 描述 |
---|---|---|
length | 必须 | 所开队列长度 |
返回值
当前队列实例。
add
函数说明
向队列中添加byte音频数据。
函数原型
/**
* 向队列中添加音频数据
*/
public void add(byte data)
参数说明
参数 | 必须 | 描述 |
---|---|---|
data | 必须 | 音频数据 |
返回值
无
addAll
函数说明
向队列中添加byte数组音频数据。
函数原型
/**
* 向队列中添加音频数据
*/
public void addAll(byte[] data)
参数说明
参数 | 必须 | 描述 |
---|---|---|
data | 必须 | 音频数据 |
返回值
无
5. VideoConfigurator
这个为了生成视频文件对应的检测配置信息。文件内容例如:
init
函数说明
VideoConfigurator初始化方法。初始化配置文件所需要的分段数组和人脸照片数组,以及初始化时间点。
函数原型
/**
* 初始化VideoConfigurator
*/
public void init()
参数说明
无
返回值
无。
startSegment
函数说明
开启一个分段
函数原型
/**
* 开始一个分段
* @param sequence: Requied. 所要开启的分段的序号.
*/
public void startSegment(String sequence)
参数说明
参数 | 必须 | 描述 |
---|---|---|
sequence | 必须 | 所要开启的分段的序号 |
返回值
无
endSegment
函数说明
结束一个分段
函数原型
/**
* 结束一个分段
* @param sequence: Requied. 所要结束的分段的序号.
*/
public void endSegment(String sequence)
/**
* 结束一个分段
* @param sequence: Requied. 所要结束的分段的序号.
*/
public void endSegment(String sequence)
参数说明
参数 | 必须 | 描述 |
---|---|---|
sequence | 必须 | 所要开启的分段的序号 |
返回值
无
addFace
函数说明
添加人脸信息
函数原型
/**
* 结束一个分段
* @param label: Requied. 人脸名称.
* @param image: Requied. 人脸图像信息,base64编码的数据.
*/
public void addFace(String label, String image)
参数说明
参数 | 必须 | 描述 |
---|---|---|
label | 必须 | 人脸名称 |
image | 必须 | 人脸图像信息,base64编码的数据 |
返回值
无
addPolicy
函数说明
添加Policy信息。Policy信息是云端辅助检测信息,目前包括真实的身份证号码,文档标题。
函数原型
/**
* 添加Policy信息
* @param key: Requied. policy key.
* @param value: Requied. policy内容.
*/
public void addPolicy(String key, String value)
参数说明
参数 | 必须 | 描述 |
---|---|---|
key | 必须 | poilcy key。目前支持”title”, “holderIdCardNumber” |
value | 必须 | policy内容 |
返回值
无
saveToFile
函数说明
将数据生成配置文件
函数原型
/**
* 生成配置文件
* @param fileName: Requied. 配置文件完整路径+名称.
*/
public void saveToFile(String fileName)
参数说明
参数 | 必须 | 描述 |
---|---|---|
fileName | 必须 | 配置文件完整路径+名称。与录像文件名要保持一致。例如录像文件为a.mp4, 配置文件名要为a.mp4.meta |
返回值
无
6.FaceCheckUtils
人脸检测与人照对比功能。支持客户设定容错间隔时间。在间隔时间之内如果检测不成功,不报错。超过间隔时间仍检测失败,则通过回调函数返回错误信息。默认间隔时间为2000毫秒。
setFailoverInterval
函数说明
设置容错间隔时间
函数原型
/**
* 设置容错间隔时间
*/
public void setFailoverInterval(int interval)
参数说明
参数 | 必须 | 描述 |
---|---|---|
interval | 必须 | 容错间隔时间,单位为毫秒 |
返回值
无
checkFaces
函数说明
人脸检测。我们会检测是否所要求的角色都在采集到的数据中。
函数原型
/**
* 人脸检测。
* @param dectetResult: 所要检测的人脸信息列表,每个人脸信息都带有角色名称
* @param roleNames: 所要检测的角色名称列表
* @param callbackObj: 检测结果callback对象
*/
public void checkFaces(ArrayList<DectetResult> dectetResult, ArrayList<String> roleNames, FaceCheckCallback callbackObj)
参数说明
参数 | 必须 | 描述 |
---|---|---|
dectetResult | 必须 | 当前所检测到的所有人脸信息 |
roleNames | 必须 | 所要检测的角色名称列表 |
callbackObj | 必须 | FaceCheckCallback接口中要实现void callback(boolean status, String message)方法。其中,status是检测结果tru/false,message是未检测到的角色名称 |
返回值
无
7.LivenessCheckUtils
活体检测功能。支持客户设定容错间隔时间。在间隔时间之内如果检测不成功,不报错。超过间隔时间仍检测失败,则通过回调函数返回错误信息。默认间隔时间为2000毫秒。检测时采用10帧投票算法
setFailoverInterval
函数说明
设置容错间隔时间
函数原型
/**
* 设置容错间隔时间
*/
public void setFailoverInterval(int interval)
参数说明
参数 | 必须 | 描述 |
---|---|---|
interval | 必须 | 容错间隔时间,单位为毫秒 |
返回值
无
checkLiveness
函数说明
活体检测。
函数原型
/**
* 活体检测。
* @param data
* @param imageWidth
* @param imageHeight
* @param faceDetectResult
* @param callbackObj: 检测结果callback对象
*/
public void checkLiveness(byte[] data, int imageWidth, int imageHeight, DectetResult[] dectetResult, LivenessCheckCallback callbackObj)
参数说明
参数 | 必须 | 描述 |
---|---|---|
data | 必须 | 摄像头采集到的一帧图片数据。这个数据可以直接从CameraView.onPreviewFrame中获取 |
imageWidth | 必须 | 摄像头采集到的一帧图片数据的宽度。这个数据可以直接CameraView.onPreviewFrame中获取 |
imageHeight | 必须 | 摄像头采集到的一帧图片高度。这个数据可以直接从CameraView.onPreviewFrame中获取 |
faceDetectResult | 必须 | 人脸检测结果 |
callbackObj | 必须 | LivenessCheckCallback接口中要实现void callback(boolean status)方法。其中,status是检测结果tru/false |
返回值
无
8.BitmapUtils
提供照片采集辅助功能
getBitmapFormCamera
函数说明
从相机数据中采集图片Bitmap
函数原型
/**
* 从相机数据中采集图片Bitmap
* @param data:相机中传来的数据
* @param width:图片的宽
* @param height:图片的高
* @return Bitmap: 生成的图片Bitmap
*/
public static Bitmap getBitmapFormCamera(byte[] data, int width, int height)
参数说明
参数 | 必须 | 描述 |
---|---|---|
data | 必须 | 相机中传来的数据 |
width | 必须 | 图片的宽 |
height | 必须 | 图片的高 |
返回值
Bitmap: 生成的图片Bitmap
saveImage
函数说明
将采集到的图片保存到手机
函数原型
/**
* 将采集到的图片保存到手机
* @param bitmap:bitmap格式的图片
*/
public static void saveImage(Bitmap bitmap)
参数说明
参数 | 必须 | 描述 |
---|---|---|
bitmap | 必须 | bitmap格式的图片 |
返回值
Bitmap: 生成的图片Bitmap
bitmapToBase64
函数说明
将采集到的图片转成base64格式,供meta文件使用
函数原型
/**
* 将采集到的图片转成base64格式
* @param bitmap:bitmap格式的图片
* @return string
*/
public static String bitmapToBase64(Bitmap bitmap)
参数说明
参数 | 必须 | 描述 |
---|---|---|
bitmap | 必须 | bitmap格式的图片 |
返回值
String: 图片的base64编码数据