UNPKG

onfido-sdk-ui

Version:

JavaScript SDK view layer for Onfido identity verification

51 lines (41 loc) 1.19 kB
import Webcam from 'react-webcam-onfido' import { canvasToBlob } from './blob' import type { SdkMetadata } from '~types/commons' import type { HandleCaptureProp } from '~types/routers' export const screenshot = ( webcam: Webcam, callback: (blob: Blob, sdkMetadata: SdkMetadata) => void, mimeType?: string ): void => { if (!webcam) { console.error('webcam is null') return } const canvas = webcam && webcam.getCanvas() if (!canvas) { console.error('webcam canvas is null') return } const sdkMetadata = getDeviceInfo(webcam.stream) canvasToBlob(canvas, (blob) => callback(blob, sdkMetadata), mimeType) } export const getRecordedVideo = ( webcam: Webcam, callback: HandleCaptureProp ): void => { const blob = webcam.getVideoBlob() const sdkMetadata = getDeviceInfo(webcam.stream) callback({ blob, sdkMetadata }) } const getDeviceInfo = (stream: MediaStream): SdkMetadata => { if (stream) { const videoTrack = stream.getVideoTracks()[0] const audioTrack = stream.getAudioTracks()[0] return { captureMethod: 'live', camera_name: videoTrack?.label, microphone_name: audioTrack?.label, } } return {} }