Motionface开发者文档
本开发文档包含远端控制sdk和本地开发sdk。SDK只做为参考,实际业务中,根据具体使用场景有调整。
Remote 控制SDK,方便机器部署后,通过后台服务器控制,适合类似广告机的产品。多一种业务形态的方案。
Remote控制SDK
进入APP 远端控制后,相当如手机运行一台服http务器,支持如下接口。 接口的host链接 软件运行时候出现在屏幕上例如:http://192.168.0.1:8080/
https://host/cgi/hair 切换头发,目前是按循序切换实际上是可以指定切换某一个的。
https://host/cgi/glasses 切换眼镜,目前是按循序切换实际上是可以指定切换某一个的。
https://host/cgi/beard 切换胡须,目前是按循序切换实际上是可以指定切换某一个的。
https://host/cgi/express 切换表情,目前是按循序切换实际上是可以指定切换某一个的。
https://host/cgi/speak?content=hello 将为文字转化成语音,开始说话,目前使用百度语音,后期可指定某语音平台。
https://host/cgi/saveimage post模式 其他是get模式
用图片创建虚拟主播,将图片上传到手机,虚拟主播图片提前准备测试ps好,运营时候直接配置即可。
https://host/cgi/savewav post模式 其他是get模式 用音频驱动嘴型同步,将音频上传到手机,然后开始播放同步嘴型。
本地开发SDK
目前软件运行在android平台,目前提供java接口用于二次开发 。
阅读开发文档前请先体验motionface app.
addFaceImage(Bitmap paramBitmap, int paramInt1, int paramInt2);
用于通过位图创建虚拟主播,后面默认传递参数为0.然后调用 createAvatar();完成创建。
createAvatarModel(String paramString);
setBackgroundColor(float[] paramArrayOfFloat);
setBackgroundImage(Bitmap paramBitmap); 多个人了选择 setCurFace(int paramInt);
是否准备好了人脸 isFaceReady();
控制人脸眼球转向观察位置,配合手势操作。
lookAt(float paramFloat1, float paramFloat2, float paramFloat3);
穿戴相关人物属性,胡子眼睛头发等
putBeard(String paramString);
putGlasses(String paramString);
putHair(String paramString);
putOffBeard();
putOffGlasses();
putOffHair();
表情切换
setExprData(String paramString);
setExpression(float[] paramArrayOfFloat, int paramInt);
准备语音播放,目前支持wav格式语音,采用率8000。
prepareSpeech(String paramString);
startSpeech();
stopSpeech();
setAudioInformation(int paramInt1, int paramInt2, int paramInt3);
存储模型文件 storeFaceBin(String paramString); 存储缩略图 storeFaceThumb(String paramString);
下面接口用于编辑人脸初始化位置。可编辑眼睛 嘴巴位置,一遍更精准的人脸驱动。在某些情况下,图像角度不合理,另外有些卡通图像,在人脸识别上存在明显错误,此刻可通过此方法修改人脸眼睛准备位置以便达到最优化的效果。
touchBegin(float paramFloat1, float paramFloat2);
touchBeginEditFp(float paramFloat1, float paramFloat2);
touchEnd(float paramFloat1, float paramFloat2);
touchEndEditFp(float paramFloat1, float paramFloat2);
touchMove(float paramFloat1, float paramFloat2);
touchMoveEditFp(float paramFloat1, float paramFloat2); releaseEditFP(); renderEditFP(); isSelectedEyeEdit(); 初始化编辑 initEditFP(int paramInt1, int paramInt2); 编辑眼睛位置 eyeEdit(int paramInt);
完成编辑 finishEditFP();