react-native-vision-camera/package/example
Marc Rousavy 977b859e46
feat: New JS API for useCameraDevice and useCameraFormat and much faster getAvailableCameraDevices() (#1784)
* Update podfile

* Update useCameraFormat.ts

* Update API

* Delete FormatFilter.md

* Format CameraViewManager.m ObjC style

* Make `getAvailableCameraDevices` synchronous/blocking

* Create some docs

* fix: Fix HardwareLevel types

* fix: Use new device/format API

* Use 60 FPS format as an example

* Replace `Camera.getAvailableCameraDevices` with new `CameraDevices` API/Module

* Fix Lint

* KTLint options

* Use continuation indent of 8

* Use 2 spaces for indent

* Update .editorconfig

* Format code

* Update .editorconfig

* Format more

* Update VideoStabilizationMode.kt

* fix: Expose `CameraDevicesManager` to ObjC

* Update CameraPage.tsx

* fix: `requiresMainQueueSetup() -> false`

* Always prefer higher resolution

* Update CameraDevicesManager.swift

* Update CameraPage.tsx

* Also filter pixelFormat

* fix: Add AVFoundation import
2023-09-21 11:20:33 +02:00
..
android chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
ios chore: Upgrade version in Pods 2023-09-19 13:26:26 +02:00
src feat: New JS API for useCameraDevice and useCameraFormat and much faster getAvailableCameraDevices() (#1784) 2023-09-21 11:20:33 +02:00
.eslintrc.js chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
app.json chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
babel.config.js chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
clean.sh chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
index.js chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
metro.config.js chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
package.json docs: Update CONTRIBUTING 2023-09-01 18:32:23 +02:00
README.md Add Image to example 2023-09-01 19:52:08 +02:00
tsconfig.json chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
yarn.lock chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00

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

  1. Open the example/ios/VisionCameraExample.xcworkspace file with Xcode
  2. Change signing configuration to your developer account
  3. Select your device in the devices drop-down
  4. Hit run

Android

  1. Open the example/android/ folder with Android Studio
  2. Select your device in the devices drop-down
  3. Hit run