Skip to content

取得掃描條件檢查結果

目標 SDK

JavaScript
React
Vue
Flutter
ReactNative
Android
iOS

TIP 提示

您可以參考 範例程式碼API 參考 以了解更多詳情。最相關的 API 包括:VideoFrameProcessedEventScanConditions

若要取得每幀的條件檢查結果,請透過 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™ 掃描之前在螢幕上即時顯示掃描條件。這樣,如果某些條件不滿足,用戶可以立即做出反應(例如,透過調整頭部位置)來滿足條件。請參閱 範例程式碼 以取得參考實作。