取得扫描条件检查结果
目标 SDK
JavaScript
React
Vue
Flutter
ReactNative
Android
iOS
TIP 提示
您可以参考 示例程式码 和 API 参考 以了解更多详情。最相关的 API 包括:VideoFrameProcessedEvent 和 ScanConditions。
若要取得每帧的条件检查结果,请透过 onVideoFrameProcessed 回呼函数存取 event.scanConditions 变数。此回调函数以每秒 30Hz 的频率提供处理结果(此频率取决于相机的帧率)。
typescript
/* 更新 onload 事件处理函数 */
window.onload = () => {
/* 在「设定相机」步骤中建立的相机的引用。 */
const cam = createVitalSignCamera({ isActive: true, config, userInfo })
// ...
/* 新增或更新 onVideoFrameProcessed 回呼函数 */
cam.onVideoFrameProcessed = (event: VideoFrameProcessedEvent) => {
// ...
/* 取得并列印条件检查结果 */
const conditions = event.scanConditions;
console.log(`面部居中=${conditions?.centered}, 人脸位置条件=${conditions?.facePositionCondition}`);
console.log(`适当距离=${conditions?.distance}, 距离条件=${conditions?.distanceCondition}`);
console.log(`光线充足=${conditions?.lighting}`);
console.log(`保持静止=${conditions?.movement}`);
console.log(`足够帧率=${conditions?.frameRate}, FPS=${conditions?.fps}`);
console.log(`服务器就绪=${conditions?.serverReady}`);
}
}js
/* 更新 onload 事件处理函数 */
window.onload = () => {
/* 在「设定相机」步骤中建立的相机的引用。 */
const cam = createVitalSignCamera({ isActive: true, config, userInfo })
// ...
/* 新增或更新 onVideoFrameProcessed 回呼函数 */
cam.onVideoFrameProcessed = (event) => {
// ...
/* 取得并列印条件检查结果 */
const conditions = event.scanConditions;
console.log(`面部居中=${conditions.centered}, 人脸位置条件=${conditions.facePositionCondition}`);
console.log(`适当距离=${conditions.distance}, 距离条件=${conditions.distanceCondition}`);
console.log(`光线充足=${conditions.lighting}`);
console.log(`保持静止=${conditions.movement}`);
console.log(`足够帧率=${conditions.frameRate}, FPS=${conditions.fps}`);
console.log(`服务器就绪=${conditions.serverReady}`);
}
}TIP 提示
为了获得良好的用户体验并确保测评准确,建议至少在启动 Vitals™ 扫描之前在萤幕上即时显示扫描条件。这样,如果某些条件不满足,用户可以立即做出反应(例如,透过调整头部位置)来满足条件。请参阅 示例程式码 以取得参考实作。