Camera Plugin
A Flutter plugin for iOS and Android allowing access to the device cameras.
Note: This plugin is still under development, and some APIs might not be available yet. We are working on a refactor which can be followed here: issue
Features:
- Display live camera preview in a widget.
- Snapshots can be captured and saved to a file.
- Record video.
- Add access to the image stream from Dart.
Installation
First, add camera
as a dependency in your pubspec.yaml file.
iOS
Add two rows to the ios/Runner/Info.plist
:
- one with the key
Privacy - Camera Usage Description
and a usage description. - and one with the key
Privacy - Microphone Usage Description
and a usage description.
Or in text format add the key:
<key>NSCameraUsageDescription</key> <string>Can I use the camera please?</string> <key>NSMicrophoneUsageDescription</key> <string>Can I use the mic please?</string>
Android
Change the minimum Android sdk version to 21 (or higher) in your android/app/build.gradle
file.
minSdkVersion 21
Example
Here is a small example flutter app displaying a full screen camera preview.
import 'dart:async'; import 'package:flutter/material.dart'; import 'package:camera/camera.dart'; List<CameraDescription> cameras; Future<void> main() async { cameras = await availableCameras(); runApp(CameraApp()); } class CameraApp extends StatefulWidget { @override _CameraAppState createState() => _CameraAppState(); } class _CameraAppState extends State<CameraApp> { CameraController controller; @override void initState() { super.initState(); controller = CameraController(cameras[0], ResolutionPreset.medium); controller.initialize().then((_) { if (!mounted) { return; } setState(() {}); }); } @override void dispose() { controller?.dispose(); super.dispose(); } @override Widget build(BuildContext context) { if (!controller.value.isInitialized) { return Container(); } return AspectRatio( aspectRatio: controller.value.aspectRatio, child: CameraPreview(controller)); } }
For a more elaborate usage example see here.
Note: This plugin is still under development, and some APIs might not be available yet. Feedback welcome and Pull Requestsare most welcome!
Download Camera Pluging source code on GitHub
https://github.com/Ahmadre/flutter_camera
Provides the list of the opensource Flutter apps collection with GitHub repository.