准备工作
请阅读 Web 美颜特效 SDK 接入指南,熟悉 SDK 基本用法。 开始使用
预初始化方案与常规加载方案相比,最大的差异在于初始化 SDK 时不需要指 input 或 camera 属性,即初始化时不为 SDK 指定输入数据,后续根据业务需求在适当的位置调用 initCore 接口指定输入数据。这样做的好处是将 SDK 依赖的资源提前加载,后续调用 initCore 后,SDK 的 ready 事件就会更快地触发,便于获取输出流展示等。以下为关键代码示例:
初始化SDK
...
let resourceReady = false
const config = {
auth: {
licenseKey: LICENSE_KEY,
appId: APPID,
authFunc: getSignature
},
beautify: {
whiten: 0.1,
dermabrasion: 0.5,
lift: 0.3,
shave: 0,
eye: 0,
chin: 0,
}
}
const ar = new ArSdk(config);
ar.on('resourceReady', () => {
resourceReady = true
})
ar.on('ready', () => {
const arStream = await ar.getOutput();
...
})
...
用户操作触发 initCore 事件
function onClickStartCamera(){
let w = 1280;
let h = 720;
const arInputStream = await navigator.mediaDevices.getUserMedia({
audio: true,
video: {
width: w,
height: h
}
});
if(!resourceReady){
return
}
ar.initCore({
input: arInputStream
})
}
代码示例
您可以下载 示例代码 解压后查看 AR_LEB_WEB
代码目录中的 AR_and_LEB_Preload.html
文件。
本页内容是否解决了您的问题?