5acc64e031
* feat: Create custom `CaptureSession` wrapper * Create `PersistentCameraCaptureSession` * Update VideoStabilizationMode.kt * Create RepeatingRequest.kt * Update CaptureSession.kt * Delete CaptureSession.kt * Update PersistentCameraCaptureSession.kt * Update PersistentCameraCaptureSession.kt * fix: Add `isRepeating` * Update CameraSession.kt * Make `SurfaceOutput` not `Closable` anymore * Update PersistentCameraCaptureSession.kt * Stub out the rest * Format * Set `isRunning` properly * Close previous outputs * onError callback * Format * Started/Stopped * Update CameraPage.tsx * Add `isValid` * Log `isActive` * Add `tryAbortCaptures` * Configure() * Try? * Add `didDestroyFromOutside` * Disable FP for testing * fix: Call `super.onAttachedToWindow` first * Hm * Update CameraSession.kt * Update PersistentCameraCaptureSession.kt * Try catch `didDestroyFromOutside` * Update PersistentCameraCaptureSession.kt * Session can only be active with a preview * Update PersistentCameraCaptureSession.kt * Throw `no-outputs` if needed * Update logs * fix: Check for CAMERA permission * fix: Close session when opening a new device * perf: Make everything `by lazy` in CameraDeviceDetails * Update CameraDeviceDetails.kt * Update PersistentCameraCaptureSession.kt * Update PersistentCameraCaptureSession.kt * Move * Update Podfile.lock * Implement `capture()` * Format * fix: Fix orientation not being applied * fix: Fix `isMirrored` * fix: Fix getting size * fix: Close `Surface` in `VideoPipeline` * Format * fix: Fix `VideoPipeline` not properly destroying itself * Use FP again * Update CameraConfiguration.kt * Rename * Clean up * Format * Update CameraConfiguration.kt * fix: Don't stop repeating request when capturing |
||
---|---|---|
.. | ||
android | ||
ios | ||
src | ||
.eslintrc.js | ||
app.json | ||
babel.config.js | ||
clean.sh | ||
index.js | ||
metro.config.js | ||
package.json | ||
README.md | ||
tsconfig.json | ||
yarn.lock |
Vision Camera playground
Overview
This is a demo application featuring some of the many features of the Vision Camera:
- Photo capture
- Video capture
- Flipping device (back camera <-> front camera)
- Device filtering (ultra-wide-angle, wide-angle, telephoto, or even combined virtual multi-cameras)
- Format filtering (targeting 60 FPS, best capture size, best matching aspect ratio, etc.)
- Zooming using react-native-gesture-handler and react-native-reanimated
- Smoothly switching between constituent camera devices (see demo on my Twitter)
- HDR mode
- Night mode
- Flash for photo capture
- Flash for video capture
- Activating/Pausing the Camera but keeping it "warm"
- Using the Example Frame Processor Plugin
Get started
To try the playground out for yourself, run the following commands:
git clone https://github.com/mrousavy/react-native-vision-camera
cd react-native-vision-camera
yarn bootstrap
iOS
- Open the
example/ios/VisionCameraExample.xcworkspace
file with Xcode - Change signing configuration to your developer account
- Select your device in the devices drop-down
- Hit run
Android
- Open the
example/android/
folder with Android Studio - Select your device in the devices drop-down
- Hit run