Proof
No visual proof cases have been published for this package yet. The registry summary below describes what the compat layer implements.expo-camera
real getUserMedia preview + canvas-backed photo capture with base64 + MediaRecorder-backed video recording. recordAsync starts a MediaRecorder against the live stream (mp4 with webm fallback when video/mp4 is not supported), maxDuration auto-stops, stopRecording returns a real blob URL via URL.createObjectURL. Permissions go through navigator.permissions + getUserMedia probes. Live barcode scanning uses the lazy engine wasm reader; flash/torch/zoom remain unavailable.93%
API coverageWorking (17)
CameraView (live video stream via getUserMedia)live barcode scanning with native result geometryfacing/mirror supporttakePictureAsync (canvas capture with base64)recordAsync via MediaRecorder with mp4/webm fallback returning a blob URLstopRecordingmaxDuration auto-stopuseCameraPermissionsuseMicrophonePermissionsgetCameraPermissionsAsyncrequestCameraPermissionsAsyncgetMicrophonePermissionsAsyncrequestMicrophonePermissionsAsyncpausePreview/resumePreviewgetAvailablePictureSizesAsync (real video.videoWidth/videoHeight)Camera.Constants compatenums (CameraType/FlashMode/AutoFocus/CameraMode/VideoQuality/PermissionStatus)
Missing (3)
scanFromURLAsync (no browser equivalent without an external library)flash/torch/zoom (browser MediaTrackConstraints expose torch on Android Chrome only — not wired)maxFileSize honoring (would need stream-size accounting)