智能双录质检 Android Idrs Api文档

By | 2021年4月23日

双录Android SDK

1. IdrsSdk功能接口

getInstance

函数说明

获取IdrsSdk单例。

函数原型

  
  1. /**
  2. * 获取IdrsSdk单例
  3. */
  4. public static IdrsSdk getInstance()

参数说明

返回值

无。

init

函数说明

IdrsSdk初始化方法。初始化IdrsSdk之前,要到双录质检控制台上注册app应用,拿到app id。初始化IdrsSdk时会校验此app id。初始化结果会在回调函数SdkInitCallBack中返回

函数原型

  
  1. /**
  2. * 初始化IdrsSdk
  3. */
  4. 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。

接口原型

  
  1. /**
  2. * 初始化IdrsSdk的结果回调接口。初始化结果会在result方法中返回
  3. */
  4. public interface SdkInitCallBack {
  5. void result(String message);
  6. }

方法说明

返回值 必须 描述
message 必须 初始化IdrsSdk的结果。结果为”OK”为初始化成功。否则返回初始化识别的错误码

返回值

无。

detectScreenRotate

函数说明

监听屏幕旋转。在activity的onCreate方法中,调用此方法,来监听屏幕旋转

函数原型

  
  1. /**
  2. * 监听屏幕旋转
  3. */
  4. public void detectScreenRotate(Context context)

参数说明

参数 必须 描述
Android.content.Context 必须 activity的context

返回值

无。

startDetectFace

函数说明

人脸检测方法。输入参数是摄像头采集到的一帧数据。输出参数是检测到的人脸集合。

函数原型

  
  1. /**
  2. * 人脸检测
  3. * @param data
  4. * @param imageWidth
  5. * @param imageHeight
  6. * @param angle
  7. * @param needFlipX
  8. * @return
  9. */
  10. 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

函数说明

计算人脸特征值。根据人脸检测中检测到的人脸结果,计算这个人脸的特征值。用于后续的人照对比方法。

函数原型

  
  1. /**
  2. * 获取人脸特征值
  3. * @param dectetResult
  4. * @return result
  5. */
  6. public float[] getFeature(DectetResult dectetResult)

参数说明

参数 必须 描述
dectetResult 必须 人脸检测结果。其中能有人脸的图像数据

返回值

float:人脸特征值。

getBitmapFeature

函数说明

检测照片中的人脸特征值。

函数原型

  
  1. /**
  2. * 检测照片中的人脸特征值
  3. * @param bitmap
  4. * @return float
  5. */
  6. public float[] getBitmapFeature(Bitmap bitmap)

参数说明

参数 必须 描述
bitmap 必须 照片Bitmap数据

返回值

float:人脸特征值。

faceRecognitionSimilarity

函数说明

人照对比方法。 使用场景是:CameraView的onPreviewFrame中能拿到每帧图片,每帧图片都调用startDetectFace方法检测出当前帧中的所有人脸。先计算出当前帧中的人脸特征值,再与预先角色的照片的特征值做对比。输出参数是比对结果,值是0-1之间的小数。>0.5认为是feature1和feature2所对应的照片是同一个人。

函数原型

  
  1. /**
  2. * 人照对比
  3. * @param features1
  4. * @param features2
  5. * @return result
  6. */
  7. 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的小数,数值越大,结果越准确。

函数原型

  
  1. /**
  2. * 活体检测
  3. * @param data
  4. * @param imageWidth
  5. * @param imageHeight
  6. * @param faceDetectResult
  7. * @return
  8. */
  9. public String inferenceFaceLiveness(byte[] data, int imageWidth, int imageHeight, DectetResult faceDetectResult)

参数说明

参数 必须 描述
data 必须 摄像头采集到的一帧图片数据。这个数据可以直接从CameraView.onPreviewFrame中获取
imageWidth 必须 摄像头采集到的一帧图片数据的宽度。这个数据可以直接从CameraView.onPreviewFrame中获取
imageHeight 必须 摄像头采集到的一帧图片高度。这个数据可以直接从CameraView.onPreviewFrame中获取
faceDetectResult 必须 人脸检测结果

返回值

String:活体检测结果。

startHandDetection

函数说明

开启签名动作识别。

函数原型

  
  1. /**
  2. * 开启签名动作识别
  3. */
  4. public ArrayList<HandDetectionResult> startHandDetection(byte[] data, int imageWidth, int imageHeight, int angle, boolean isFrontCameraboolean isStatic)

参数说明

参数 必须 描述
data 必须 摄像头采集到的一帧图片数据。这个数据可以直接从CameraView.onPreviewFrame中获取
imageWidth 必须 摄像头采集到的一帧图片数据的宽度。这个数据可以直接从CameraView.onPreviewFrame中获取
imageHeight 必须 摄像头采集到的一帧图片高度。这个数据可以直接从CameraView.onPreviewFrame中获取
angle 必须 摄像头采集到的一帧图片角度。这个数据可以直接从CameraView.onPreviewFrame中获取
isFrontCamera 必须 是否是从前置摄像头中获取的视频数据
isStatic 必须 是否是静态手势检测,false:动态手势,true静态手势

返回值

ArrayList

签名动作结果数组

ocr_run

函数说明

开启身份证识别。

函数原型

  
  1. /**
  2. * 开启身份证识别
  3. */
  4. 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

函数说明

开启身份证识别。

函数原型

  
  1. /**
  2. * 识别身份证图片
  3. */
  4. 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参数。

函数原型

  
  1. /**
  2. * 获取身份证识别中所需roi参数
  3. */
  4. 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输出

函数原型

  
  1. /**
  2. * 开启激活词检测
  3. */
  4. public void startDialog(Handler handler)

参数说明

参数 必须 描述
handler 必须 处理激活词结果的handler

返回值

无。

startDialogforData

函数说明

开启激活词识别。此方法需要您从别处获取到的音频数据,添加到com.aliyun.idrs.IDRSSDK.Queue中,激活词服务会去com.aliyun.idrs.IDRSSDK.Queue中获取音频数据来进行检测。

函数原型

  
  1. /**
  2. * 开启激活词识别
  3. */
  4. public void startDialogforData(Handler handler)

参数说明

参数 必须 描述
handler 必须 识别出激活词后,会通过此handler接收识别结果message

返回值

无。

stopDialog

函数说明

关闭激活词检测。

函数原型

  
  1. /**
  2. * 关闭激活词检测
  3. */
  4. public void stopDialog()

参数说明

返回值

无。

setparamTts

函数说明

设置参数,设置成功后下次合成将采用新的参数。

函数原型

  
  1. /**
  2. * set tts parameter in key value format.
  3. * @param param param in string, according to api documents.
  4. * @param value param value, according to api documents.
  5. * @return status: true: set success; false: set failed
  6. */
  7. 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

函数说明

获取合成参数。

函数原型

  
  1. /**
  2. * get param value.
  3. * @param param you want to get.
  4. * @return value
  5. */
  6. public String getparamTts(String key);

参数说明

参数 类型 描述
key String 获取参数

返回值

参数值。

startTts

函数说明

开启TTS语音合成。

函数原型

  
  1. /**
  2. * 开启TTS语音合成
  3. */
  4. public void startTTs(String text, AudioService.TTsListener listener)

参数说明

参数 必须 描述
text 必须 待合成的文本
AudioService.TTsListener listener 非必须 返回是否播放完成,还有合成的pcm数据

返回值

无。

AudioService.TTsListener

类说明

开启TTS语音合成回调。

函数原型

  
  1. public interface TTsListener {
  2. void onPlayComplete();
  3. void onDataCallback(byte[] text, int work_idx, byte[] data);
  4. }

函数说明

参数 必须 描述
onDataCallback 必须 第一个参数没用,第二个参数:当前播放的文字位置,第三个参数:pcm数据
onPlayComplete 必须 播放完成回调

返回值

无。

cancelTts

函数说明

结束TTS语音合成。

函数原型

  
  1. /**
  2. * 结束TTS语音合成
  3. */
  4. public void cancelTts()

参数说明

返回值

无。

pauseTts

函数说明

发送暂停播放语音事件。

函数原型

  
  1. /**
  2. * 发送暂停播放事件
  3. */
  4. public void pauseTts()

参数说明

返回值

无。

resumeTts

函数说明

发送继续播放语音事件。

函数原型

  
  1. /**
  2. * 发送继续播放语音事件
  3. */
  4. public void resumeTts()

参数说明

返回值

无。

release

函数说明

释放资源。

函数原型

  
  1. /**
  2. * 释放资源
  3. */
  4. public void release()

参数说明

返回值

无。

setHandDetectparam

函数说明

设置动作识别参数

函数原型

  
  1. public void setHandDetectparam(HandDetectParamConfig config)

参数说明

参数 必须 描述
HandDetectParamConfig 必须 动作识别参数类

返回值

无。

HandDetectParamConfig

类说明

动作识别参数

类原型

  
  1. public class HandDetectParamConfig {
  2. public boolean supportBodyKeypointDetect = false;
  3. public float PHONE_ACTION_SCROLL = 1.0f;
  4. public float PHONE_ACTION_SIGN = 0.05f;
  5. public float PHONE_ACTION_TIME = 0.0f;
  6. public float PHONE_ACTION_IOU = 0.0f;
  7. public float CLASSIFY_THRESHOLD = 0.5f;
  8. public int DETECT_IMG_SIZE = 480;
  9. }

参数说明

参数 必须 描述
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初始化方法。

函数原型

  
  1. /**
  2. * 初始化IdrsSdk
  3. */
  4. public void init(Context context)

参数说明

参数 必须 描述
Android.content.Context 必须 activity的context

返回值

无。

feedVideoData

函数说明

获取外部视频数据。

函数原型

  
  1. /**
  2. * 获取外部视频数据
  3. */
  4. public void feedVideoData(final byte[] data)

参数说明

参数 必须 描述
data 必须 由外部获取到到视频数据

返回值

无。

feedAudioData

函数说明

获取外部音频数据。

函数原型

  
  1. /**
  2. * 获取外部音频数据
  3. */
  4. public void feedAudioData(final byte[] data, int len)

参数说明

参数 必须 描述
data 必须 由外部获取到到音频数据

返回值

无。

prepare

函数说明

录像前的准备。

函数原型

  
  1. /**
  2. * 录像前的准备
  3. */
  4. public int prepare(String outputFile)

参数说明

参数 必须 描述
outputFile 必须 待保存的录像视频的文件路径

返回值

0为准备成功,-1为准备失败

startRecord

函数说明

开启录像

函数原型

  
  1. /**
  2. * 开始录像
  3. * @param cameraView: Requied. 当前activity上的CamereView.
  4. * @param outputFile: Requied. 保存录像的文件路径
  5. */
  6. 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

函数说明

停止录像

函数原型

  
  1. /**
  2. * 停止录制
  3. @return savedFile: the full path of the saved file
  4. */
  5. public void stopRecord()

参数说明

返回值

3.FaceRecognizeInput功能接口

addRole

函数说明

添加一个检测角色

函数原型

  
  1. /**
  2. * 添加一个检测角色
  3. */
  4. public boolean addRole(String id, String name, Bitmap bitmap)

参数说明

参数 必须 描述
id 必须 角色id。例如投保人/被保人
name 必须 人员名称。
bitmap 必须 人脸照片信息

返回值

booean: 是否添加成功。添加角色前,先对人脸照片信息做一次人脸检测。如果检测到多个人脸,则添加失败。

removeRole

函数说明

删除一个检测角色

函数原型

  
  1. /**
  2. * 添加一个检测角色
  3. */
  4. public void removeRole(String id)

参数说明

参数 必须 描述
id 必须 角色id。例如投保人/被保人

返回值

getRoles

函数说明

获取当前需要检测的角色列表

函数原型

  
  1. /**
  2. * 获取当前需要检测的角色列表
  3. */
  4. public Map<String, Role> getRoles()

参数说明

返回值

当前角色map。

getRoleNames

函数说明

获取当前需要检测的角色名称列表

函数原型

  
  1. /**
  2. * 获取当前需要检测的角色列表
  3. */
  4. public ArrayList<String> getRoleNames()

参数说明

返回值

当前角色名称的数组。

4. Queue功能接口

getInstance

函数说明

Queue是配合激活词识别使用,app将获取到到音频数据中放如Queue中,激活词服务会从Queue中拿音频数据做检测。

函数原型

  
  1. /**
  2. * 获取当前队列实例
  3. */
  4. public static Queue getInstance()

参数说明

返回值

当前队列实例。

init

函数说明

队列初始化。

函数原型

  
  1. /**
  2. * 队列初始化
  3. */
  4. public void init(int length)

参数说明

参数 必须 描述
length 必须 所开队列长度

返回值

当前队列实例。

add

函数说明

向队列中添加byte音频数据。

函数原型

  
  1. /**
  2. * 向队列中添加音频数据
  3. */
  4. public void add(byte data)

参数说明

参数 必须 描述
data 必须 音频数据

返回值

addAll

函数说明

向队列中添加byte数组音频数据。

函数原型

  
  1. /**
  2. * 向队列中添加音频数据
  3. */
  4. public void addAll(byte[] data)

参数说明

参数 必须 描述
data 必须 音频数据

返回值

5. VideoConfigurator

这个为了生成视频文件对应的检测配置信息。文件内容例如:

init

函数说明

VideoConfigurator初始化方法。初始化配置文件所需要的分段数组和人脸照片数组,以及初始化时间点。

函数原型

  
  1. /**
  2. * 初始化VideoConfigurator
  3. */
  4. public void init()

参数说明

返回值

无。

startSegment

函数说明

开启一个分段

函数原型

  
  1. /**
  2. * 开始一个分段
  3. * @param sequence: Requied. 所要开启的分段的序号.
  4. */
  5. public void startSegment(String sequence)

参数说明

参数 必须 描述
sequence 必须 所要开启的分段的序号

返回值

endSegment

函数说明

结束一个分段

函数原型

  
  1. /**
  2. * 结束一个分段
  3. * @param sequence: Requied. 所要结束的分段的序号.
  4. */
  5. public void endSegment(String sequence)

/**

  
  1. * 结束一个分段
  2. * @param sequence: Requied. 所要结束的分段的序号.
  3. */
  4. public void endSegment(String sequence)

参数说明

参数 必须 描述
sequence 必须 所要开启的分段的序号

返回值

addFace

函数说明

添加人脸信息

函数原型

  
  1. /**
  2. * 结束一个分段
  3. * @param label: Requied. 人脸名称.
  4. * @param image: Requied. 人脸图像信息,base64编码的数据.
  5. */
  6. public void addFace(String label, String image)

参数说明

参数 必须 描述
label 必须 人脸名称
image 必须 人脸图像信息,base64编码的数据

返回值

addPolicy

函数说明

添加Policy信息。Policy信息是云端辅助检测信息,目前包括真实的身份证号码,文档标题。

函数原型

  
  1. /**
  2. * 添加Policy信息
  3. * @param key: Requied. policy key.
  4. * @param value: Requied. policy内容.
  5. */
  6. public void addPolicy(String key, String value)

参数说明

参数 必须 描述
key 必须 poilcy key。目前支持”title”, “holderIdCardNumber”
value 必须 policy内容

返回值

saveToFile

函数说明

将数据生成配置文件

函数原型

  
  1. /**
  2. * 生成配置文件
  3. * @param fileName: Requied. 配置文件完整路径+名称.
  4. */
  5. public void saveToFile(String fileName)

参数说明

参数 必须 描述
fileName 必须 配置文件完整路径+名称。与录像文件名要保持一致。例如录像文件为a.mp4, 配置文件名要为a.mp4.meta

返回值

6.FaceCheckUtils

人脸检测与人照对比功能。支持客户设定容错间隔时间。在间隔时间之内如果检测不成功,不报错。超过间隔时间仍检测失败,则通过回调函数返回错误信息。默认间隔时间为2000毫秒。

setFailoverInterval

函数说明

设置容错间隔时间

函数原型

  
  1. /**
  2. * 设置容错间隔时间
  3. */
  4. public void setFailoverInterval(int interval)

参数说明

参数 必须 描述
interval 必须 容错间隔时间,单位为毫秒

返回值

checkFaces

函数说明

人脸检测。我们会检测是否所要求的角色都在采集到的数据中。

函数原型

  
  1. /**
  2. * 人脸检测。
  3. * @param dectetResult: 所要检测的人脸信息列表,每个人脸信息都带有角色名称
  4. * @param roleNames: 所要检测的角色名称列表
  5. * @param callbackObj: 检测结果callback对象
  6. */
  7. 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

函数说明

设置容错间隔时间

函数原型

  
  1. /**
  2. * 设置容错间隔时间
  3. */
  4. public void setFailoverInterval(int interval)

参数说明

参数 必须 描述
interval 必须 容错间隔时间,单位为毫秒

返回值

checkLiveness

函数说明

活体检测。

函数原型

  
  1. /**
  2. * 活体检测。
  3. * @param data
  4. * @param imageWidth
  5. * @param imageHeight
  6. * @param faceDetectResult
  7. * @param callbackObj: 检测结果callback对象
  8. */
  9. 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

函数原型

  
  1. /**
  2. * 从相机数据中采集图片Bitmap
  3. * @param data:相机中传来的数据
  4. * @param width:图片的宽
  5. * @param height:图片的高
  6. * @return Bitmap: 生成的图片Bitmap
  7. */
  8. public static Bitmap getBitmapFormCamera(byte[] data, int width, int height)

参数说明

参数 必须 描述
data 必须 相机中传来的数据
width 必须 图片的宽
height 必须 图片的高

返回值

Bitmap: 生成的图片Bitmap

saveImage

函数说明

将采集到的图片保存到手机

函数原型

  
  1. /**
  2. * 将采集到的图片保存到手机
  3. * @param bitmap:bitmap格式的图片
  4. */
  5. public static void saveImage(Bitmap bitmap)

参数说明

参数 必须 描述
bitmap 必须 bitmap格式的图片

返回值

Bitmap: 生成的图片Bitmap

bitmapToBase64

函数说明

将采集到的图片转成base64格式,供meta文件使用

函数原型

  
  1. /**
  2. * 将采集到的图片转成base64格式
  3. * @param bitmap:bitmap格式的图片
  4. * @return string
  5. */
  6. public static String bitmapToBase64(Bitmap bitmap)

参数说明

参数 必须 描述
bitmap 必须 bitmap格式的图片

返回值

String: 图片的base64编码数据

请关注公众号获取更多资料

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注