baiduFaceLive

论坛示例

为帮助用户更好更快的使用插件,论坛维护了一个示例,示例中包含示例代码供您参考。

概述

baiduFaceLive 插件概述

本插件封装了百度开放平台的人脸识别离线采集客户端SDK(活体检测),可以在客户端方便快捷的接入人脸识别功能。

插件使用攻略

使用之前须从百度开放平台申请开发者账号并完成企业认证,获取 LicenseID和 LicenseFileName。百度开发平台控制台

使用此插件之前建议先配置config.xml文件,配置完毕,需通过云端编译生效,配置方法如下:

  • 名称:baiduFaceLive
  • 参数:LicenseID_iOS、LicenseFileName_iOS、LicenseID_Android、LicenseFileName_Android
  • 配置示例:
<feature name="baiduFaceLive">
    <param name="LicenseID_iOS" value="test-zhaofei-face-ios"/>
    <param name="LicenseFileName_iOS" value="idl-license.face-ios"/>
    <param name="LicenseID_Android" value="test-zhaofei-face-android"/>
    <param name="LicenseFileName_Android" value="idl-license.face-android"/>
</feature>

**License文件打包插件包需注意事项请参考License打包插件包注意事项**,然后将制作好的授权插件包上传到自定义插件,添加到自己的App进行使用。

插件接口

setLicense

设置授权

setLicense({params}, callback(ret))

params

LicenseID_iOS:

  • 类型:字符串型
  • 描述:(必填项)iOS License ID

LicenseFileName_iOS:

  • 类型:字符串型
  • 描述:(必填项)iOS 授权文件(对应配套授权插件文件名称)

LicenseID_Android:

  • 类型:字符串型
  • 描述:(必填项)安卓 License ID

LicenseFileName_Android:

  • 类型:字符串型
  • 描述:(必填项)Android 授权文件(对应配套授权插件文件名称)

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code : '',
    msg : ''
}

示例代码

var demo = api.require('baiduFaceLive');
demo.setLicense({
    LicenseID_Android: 'test-new-2020-face-android',
    LicenseFileName_Android: 'idl-license.face-android',
    LicenseID_iOS: 'test-new-2020-face-ios',
    LicenseFileName_iOS: 'idl-license.face-ios',
}, function (ret, err) {
    alert(JSON.stringify(ret) + "  " + JSON.stringify(err));
});

可用性

iOS系统,Android系统

可提供的1.1.0及更高版本

initCollect

初始化采集功能

initCollect({params}, callback(ret))

params

minFaceSize:

  • 类型:数字型
  • 描述:(可选项)设置最小检测人脸阈值 (在图片人脸能够被检测到最小值)80-200, 越小越耗性能,推荐120-200
  • 默认值:200

cropFaceWidth:

  • 类型:数字型
  • 描述:(可选项)设置截取人脸图片宽度大小
  • 默认值:480

cropFaceHeight:

  • 类型:数字型
  • 描述:(可选项)设置截取人脸图片高度大小
  • 默认值:640

notFace:

  • 类型:浮点型
  • 描述:(可选项)设置人脸检测精度阀值(0-1)
  • 默认值:0.6

occlusion:

  • 类型:浮点型
  • 描述:(可选项)设置人脸遮挡阀值(0-1) 推荐小于0.5
  • 默认值:0.5

secType:

  • 类型:数字型
  • 描述:(可选项)设置图片加密类型,type=0 基于base64 加密;type=1 基于百度安全算法加密(当为1时,需要把加密文件打包到授权插件包里面idl-key.face-ios、idl-key.face-android)
  • 默认值:0

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code : '',
    msg : ''
}

示例代码

var demo = api.require('baiduFaceLive');
demo.initCollect(function(ret, err){
    api.toast({ msg : JSON.stringify(ret) +"  "+JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

uninitCollect

卸载采集功能

uninitCollect({params}, callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code : '',
    msg : ''
}

示例代码

var demo = api.require('baiduFaceLive');
demo.uninitCollect(function(ret, err){
    api.toast({ msg : JSON.stringify(ret) +"  "+JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setActions

配置动作

setActions({params}, callback(ret))

params

actions:

  • 类型:数组型
  • 描述:(可选项)自定义动作
['Eye','Mouth','HeadUp','HeadDown','HeadLeft','HeadRight']

faceActionSum:

  • 类型:数字型
  • 描述:(可选项)人脸采集动作个数(最大5个动作,当设置actions参数时该参数无效)
  • 默认值:3

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code : '',
    msg : ''
}

示例代码

var demo = api.require('baiduFaceLive');
demo.setActions(function(ret, err){
    api.toast({ msg : JSON.stringify(ret) +"  "+JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setQualityLevel

配置质量等级

setQualityLevel({params}, callback(ret))

params

qualityLevel:

  • 类型:数字型
  • 描述:(可选项)质量等级(0:正常、1:宽松、2:严格)
  • 默认值:1

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code : '',
    msg : ''
}

示例代码

var demo = api.require('baiduFaceLive');
demo.setQualityLevel(function(ret, err){
    api.toast({ msg : JSON.stringify(ret) +"  "+JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openFaceDetectView

打开人脸识别界面

openFaceDetectView({params}, callback(ret))

params

rect:

  • 类型:JSON 对象
  • 默认值:见内部字段
  • 描述:(可选项)浏览器窗口的位置和大小,设置margin后,在不同手机上面会保持与父页面的各方向边距一致,而中间区域会自动扩充。建议使用margin布局,可以完美适配带smartBar的手机。
  • 内部字段:
{
    x:0,             //左上角x坐标,默认0
    y:0,             //左上角y坐标,默认0
    w:320,           //宽度,默认'auto',页面从x位置开始自动充满父页面宽度
    h:480            //高度,默认'auto',页面从y位置开始自动充满父页面高度

    marginLeft:0,    //相对父页面左外边距的距离,默认0
    marginTop:0,    //相对父页面上外边距的距离,默认0
    marginBottom:0,    //相对父页面下外边距的距离,默认0
    marginRight:0    //相对父页面右外边距的距离,默认0
}

fixedOn:

  • 类型:字符串型
  • 描述:(可选项)插件所属 Frame 的名字,若不传则插件归属于当前 Window

fixed:

  • 类型:布尔型
  • 描述:(可选项)插件是否随所属 Window 或 Frame 滚动
  • 默认值:true(不随之滚动)

defaultUI:

  • 类型:布尔型
  • 描述:(可选项)是否显示自带UI布局(true : 显示 false : 不显示)
  • 默认值:true(显示)

isShowRectLine:

  • 类型:布尔型
  • 描述:(可选项)是否隐藏识别区域的圆形边框(true : 显示 false : 隐藏)
  • 默认值:false(隐藏)

isSound:

  • 类型:布尔型
  • 描述:(可选项)设置是否开启声音播放(true:开启 false:关闭)
  • 默认值:true(开启)

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    evenType : 'Tips', // Tips 提示信息|success 识别成功
    message : '',//Tips 有值
    data : {    //base64图片 //success 有值 
        bestImage : '', //裁剪图片
        srcImage : '', //原图
        bestSecBase64 : '',//加密裁剪图片
        srcSecBase64 : '',//加密原图
    }
}

示例代码

var demo = api.require('baiduFaceLive');
demo.openFaceDetectView(function(ret, err){
    if(ret.evenType=='success'){
        //由于base64数据量大,请不要用JSON.stringify(ret)调试
        alert(ret.data.bestImage);
    }else{
        api.toast({ msg : JSON.stringify(ret) +"  "+JSON.stringify(err)});
    }
});

##Tips值列表

iOS Android
建议略微抬头 未检测到人脸
建议略微低头 把脸移入框内
建议略微向右转头 手机拿近一点
建议略微向左转头 手机拿远一点
光线再亮些 建议略微抬头
把脸移入框内 建议略微低头
请保持不动 建议略微向左转头
左眼有遮挡 建议略微向右转头
右眼有遮挡 脸部有遮挡
鼻子有遮挡 光线再亮些
嘴巴有遮挡 请保持不动
左脸颊有遮挡 请正对手机
右脸颊有遮挡 检测超时
下颚有遮挡 眨眨眼
手机拿远一点 请眨眨左边眼睛
手机拿近一点 请眨眨右边眼睛
把脸移入框内 张张嘴
眨眨眼 向左缓慢转头
张张嘴 向右缓慢转头
向右缓慢转头 摇摇头
向左缓慢转头 缓慢抬头
缓慢抬头 缓慢低头
缓慢低头 非常好
摇摇头
非常好
验证失败
检测超时

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

continueFaceDetect

识别结果处理后继续人脸识别(识别界面未关闭时调用)

continueFaceDetect(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code : '',
    msg : ''
}

示例代码

var demo = api.require('baiduFaceLive');
demo.continueFaceDetect(function(ret, err){
    //api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeFaceDetectView

关闭人脸识别界面

closeFaceDetectView(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code : '',
    msg : ''
}

示例代码

var demo = api.require('baiduFaceLive');
demo.closeFaceDetectView(function(ret, err){
    //api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

switchSound

声音开关

switchSound(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code : '',
    msg : ''
}

示例代码

var demo = api.require('baiduFacePlus');
demo.switchSound(function(ret, err){
    api.toast({ msg : JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showTopText

设置顶部显示内容

showTopText({params}, callback(ret))

params

content:

  • 类型:字符串型
  • 描述:(可选项)顶部文字内容

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code : '',
    msg : ''
}

示例代码

var demo = api.require('baiduFacePlus');
demo.showTopText({
    content: '我是自定义内容'
},function(ret, err){
    api.toast({ msg : JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showButtomText

设置底部显示内容

showButtomText({params}, callback(ret))

params

content:

  • 类型:字符串型
  • 描述:(可选项)底部文字内容

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code : '',
    msg : ''
}

示例代码

var demo = api.require('baiduFacePlus');
demo.showButtomText({
    content: '我是自定义内容'
},function(ret, err){
    api.toast({ msg : JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2023/06/2