setFocusPoint
and setExposurePoint
coordinates work correctly in all orientations on iOS (instead of only in portrait mode).CameraValue.aspectRatio
now returns width / height
rather than height / width
. (commit)RaisedButton
and FlatButton
widgets.CameraController.takePicture
method.didFinishProcessingPhoto
on iOS which allows saving image metadata (EXIF) on iOS 11 and up.Updated README to inform users that iOS 10.0+ is needed for use
As part of implementing federated architecture and making the interface compatible with the web this version contains the following breaking changes:
Method changes in CameraController
:
takePicture
method no longer accepts the path
parameter, but instead returns the captured image as an instance of the XFile
class;startVideoRecording
method no longer accepts the filePath
. Instead the recorded video is now returned as a XFile
instance when the stopVideoRecording
method completes;stopVideoRecording
method now returns the captured video when it completes;buildPreview
method which is now used to implement the CameraPreview widget.debugCheckIsDisposed
method which can be used in debug mode to validate if the CameraController
class has been disposed.mediaRecorder
in MediaRecorderBuilder.java
to make it more readable.README.md
.deprecated_member_use
warning in the example app for ScaffoldMessenger.showSnackBar
.CameraAccessException
on Android.getFlutterEngine
call on Android.pedantic
to dev_dependency.author:
field from pubspec.yamlbuild.gradle
to support apps that has not been migrated to AndroidX.CameraController
. (e.g. CameraController(_, _, enableAudio: false);
)<uses-sdk tools:overrideLibrary="io.flutter.plugins.camera"/>
has been added to the project AndroidManifest.xml
. For sdks below 21, the plugin won't be registered and calls to it will throw a MissingPluginException.
WidgetsBindingObserver
to control camera resources on lifecycle changes. See example project for example using WidgetsBindingObserver
.invokeMethod
calls.Exception
s from Android and throw as CameraException
s.CameraDescription
.ImageFormatGroup.bgra8888
from ImageFormatGroup.yuv420
.cameraController.startImageStream(listener)
to process the images.A lot of breaking changes in this version:
Getter changes:
isStarted
initialized
to isInitialized
isRecordingVideo
Method changes:
capture
to takePicture
start
(the preview starts automatically when initialize
is called)startVideoRecording(String filePath)
stop
(the preview stops automatically when dispose
is called)stopVideoRecording
CameraController.capture()
introduced in v. 0.0.3.CameraController.dispose()
and CameraController.capture()
actually complete on Android.