[ Package conformance ]
Media · >=14.0.0
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. Barcode scanning, flash/torch/zoom remain documented unavailable.93%
API coverage
No visual conformance cases have been published for this package yet. The registry summary below describes what the compat layer implements.
Working (16)
CameraView (live video stream via getUserMedia)facing/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 (4)
barcode scanning (would need BarcodeDetector — Chrome only)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)