This project is a React Native application designed to showcase the capabilities of capturing photos and videos using a mobile device. The app leverages the expo-camera, expo-media-library, and expo-av libraries to provide a seamless experience for capturing and managing media.
- Capture Photos and Videos Photo Capture: Users can take high-quality photos with options to adjust settings like quality and base64 encoding. Video Capture: Users can record videos, with the ability to start and stop recording seamlessly.
- Save to Local Storage Media Storage: Captured photos and videos are saved to the device's local storage, specifically within the "Camera" album. This ensures easy access and organization of media files.
- Camera Switching Front and Back Camera: Users can switch between the front and back cameras effortlessly, providing flexibility for different capturing needs.
- Flash and Torch Control Flash Control: The app allows users to toggle the flash on or off while taking photos. Torch Control: Users can enable or disable the torch (continuous light) when recording videos or taking photos, enhancing visibility in low-light conditions.
- Access Captured Media Media Library Access: Users can easily access and view the photos and videos they have captured directly within the app.
- Launch the App: Start the application on your device or emulator.
- Camera Access: Grant the app permission to access the camera and microphone.
- Capture Media: Use the on-screen buttons to capture photos or videos.
- Switch Cameras: Toggle between front and back cameras using the camera switch button.
- Control Flash and Torch: Enable or disable the flash and torch as needed.
- View Media: Access the captured media through the app's gallery feature.
-
Install dependencies
npm install
-
Start the app
npx expo start
In the output, you'll find options to open the app in a
- development build
- Android emulator
- iOS simulator
- Expo Go, a limited sandbox for trying out app development with Expo
You can start developing by editing the files inside the "src/" directory. This project uses file-based routing.
When you're ready, run:
npm run reset-project
To learn more about developing your project with Expo, look at the following resources:
- Expo documentation: Learn fundamentals, or go into advanced topics with our guides.
- Learn Expo tutorial: Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.