open_camera 0.0.5
open_camera: ^0.0.5

Flutter Android iOS

Open Camera is a flutter project that provides a complete widget for shooting and recording videos.

Open Camera #

Open Camera is a flutter plugin, very light, nice and intuitive, which adds to your application the ability to take photos and record videos.

Get started #

It is very easy to use the plugin Open Camera in your project, it was thought to be like this ;)

For Android systems the minimum version of SDK is 24 and IOS minimum version is 10.0.

Installation #

Installing the plugin in your application is very simple, add in your file pubspec.yaml the plugin reference OpenCamera.

  open_camera: ...
    sdk: flutter

Android #

In the AndroidManifest.xml file add the following permissions.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" android:required="true" />
<uses-permission android:name="android.permission.RECORD_AUDIO" android:required="true" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:required="true" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:required="true" />


In IOS it is necessary to edit the following files.


Change the line by uncommenting and changing the minimum version in the ios/PodFile.

platform :ios, '10.0'


In the Info.plist file add the following permissions.

<string>Can I use the camera please?</string>
<string>Can I use the mic please?</string>
<string>Camera App would like to save photos from the app to your gallery</string>
<string>Camera App would like to access your photo gallery for uploading images to the app</string>

How to use #

Settings #

var settings = CameraSettings(
  limitRecord: 15,
  useCompression: true,
  resolutionPreset: ResolutionPreset.ultraHigh

limitRecordintRecording time limit in seconds.
useCompressionboolWhether the plugin should compress the photo or video before returning
resolutionPresetenumCamera resolution quality

Taking a picture #

File file = await openCamera(
  cameraSettings: CameraSettings(
    useCompression: true,
    resolutionPreset: ResolutionPreset.ultraHigh,

Recording a video #

File file = await openCamera(context,
                             cameraSettings: CameraSettings(
                                limitRecord: 15,
                                useCompression: true,
                                resolutionPreset: ResolutionPreset.ultraHigh,


Diogo Luiz Ponce ( / Joelson Santos Cunha (