camera 0.1.1 camera: ^0.1.1 copied to clipboard
A Flutter plugin for getting information about and controlling the camera on Android and iOS. Supports previewing the camera feed and capturing images.
Camera Plugin #
A Flutter plugin for iOS and Android allowing access to the device cameras.
Features: #
- Display live camera preview in a widget.
- Snapshots can be captured and saved to a file.
Installation #
First, add camera
as a dependency in your pubspec.yaml file.
iOS #
Add a row to the ios/Runner/Info.plist
of your app with the key Privacy - Camera Usage Description
and a usage description.
Or in text format add the key:
<key>NSCameraUsageDescription</key>
<string>Can I use the camera 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<Null> main() async {
cameras = await availableCameras();
runApp(new CameraApp());
}
class CameraApp extends StatefulWidget {
@override
_CameraAppState createState() => new _CameraAppState();
}
class _CameraAppState extends State<CameraApp> {
CameraController controller;
@override
void initState() {
super.initState();
controller = new 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.initialized) {
return new Container();
}
return new AspectRatio(
aspectRatio:
controller.value.aspectRatio,
child: new 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 Requests are most welcome!