camera 0.9.3 camera: ^0.9.3 copied to clipboard
A Flutter plugin for getting information about and controlling the camera on Android and iOS. Supports previewing the camera feed, capturing images, capturing video, and streaming image buffers to dar
- Update minimum Flutter SDK to 2.5 and iOS deployment target to 9.0.
- Ensure that setting the exposure offset returns the new offset value on Android.
- Fixed camera controller throwing an exception when being replaced in the preview widget.
- Added functions to pause and resume the camera preview.
sensorSensitivityproperties to the
- Complete rewrite of Android plugin to fix many capture, focus, flash, orientation and exposure issues.
- Fixed crash when opening front-facing cameras on some legacy android devices like Sony XZ.
- Android Flash mode works with full precapture sequence.
- Updated Android lint settings.
- Fix device orientation sometimes not affecting the camera preview orientation.
- Remove references to the Android V1 embedding.
- Make sure the
setExposurePointcoordinates work correctly in all orientations on iOS (instead of only in portrait mode).
- Silenced warnings that may occur during build when using a very recent version of Flutter relating to null safety.
- Do not change camera orientation when iOS device is flat.
- Fix iOS crash when selecting an unsupported FocusMode.
- Migrate maven repository from jcenter to mavenCentral.
- Solved a rotation issue on iOS which caused the default preview to be displayed as landscape right instead of portrait.
- Stable null safety release.
- Solved delay when using the zoom feature on iOS.
- Added a timeout to the pre-capture sequence on Android to prevent crashes when the camera cannot get a focus.
- Updates the example code listed in the README.md, so it runs without errors when you simply copy/ paste it into a Flutter App.
- Fix crash when taking picture with orientation lock
- Clockwise rotation of focus point in android
- Fix example reference in README.
- Revert compileSdkVersion back to 29 (from 30) as this is causing problems with add-to-app configurations.
- Ensure communication from JAVA to Dart is done on the main UI thread.
- BREAKING CHANGE:
width / heightrather than
height / width. (commit)
- Added support for capture orientation locking on Android and iOS.
- Fixed camera preview not rotating correctly on Android and iOS.
- Fixed camera preview sometimes appearing stretched on Android and iOS.
- Fixed videos & photos saving with the incorrect rotation on iOS.
- New Features:
- Bug Fixes:
- Fixes crash when taking a picture on iOS devices without flash. (commit)
- Make sure the configured zoom scale is copied over to the final capture builder on Android. Fixes the issue where the preview is zoomed but the final picture is not. (commit)
- Fixes crash with using inner camera on some Android devices. (commit)
- Improved error feedback by differentiating between uninitialized and disposed camera controllers. (commit)
- Fixes picture captures causing a crash on some Huawei devices. (commit)
- Update the example app: remove the deprecated
- Set camera auto focus enabled by default.
- Detect if selected camera supports auto focus and act accordingly on Android. This solves a problem where front facing cameras are not capturing the picture because auto focus is not supported.
- Set ImageStreamReader listener to null to prevent stale images when streaming images.
- Added closeCaptureSession() to stopVideoRecording in Camera.java to fix an Android 6 crash.
- Adds auto exposure support for Android and iOS implementations.
- Revert previous dependency update: Changed dependency on camera_platform_interface to >=1.04 <1.1.0.
- Updated dependency on camera_platform_interface to ^1.2.0.
- Fixes crash on Android which occurs after video recording has stopped just before taking a picture.
- Fixes flash & torch modes not working on some Android devices.
- Adds torch mode as a flash mode for Android and iOS implementations.
- Fix the API documentation for the
- Add zoom support for Android and iOS implementations.
- Added implementation of the
didFinishProcessingPhotoon iOS which allows saving image metadata (EXIF) on iOS 11 and up.
- Add flash support for Android and iOS implementations.
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
takePicturemethod no longer accepts the
pathparameter, but instead returns the captured image as an instance of the
startVideoRecordingmethod no longer accepts the
filePath. Instead the recorded video is now returned as a
XFileinstance when the
stopVideoRecordingmethod now returns the captured video when it completes;
- Added the
buildPreviewmethod which is now used to implement the CameraPreview widget.
- Update Flutter SDK constraint.
- Suppress unchecked warning in Android tests which prevented the tests to compile.
- Added Android 30 support.
- Moved package to camera/camera subdir, to allow for federated implementations.
- Added the
debugCheckIsDisposedmethod which can be used in debug mode to validate if the
CameraControllerclass has been disposed.
- Changed the order of the setters for
MediaRecorderBuilder.javato make it more readable.
- Added Dartdocs for all public APIs.
- Added information of video not working correctly on Android emulators to
- Fix rare nullptr exception on Android.
- Updated README.md with information about handling App lifecycle changes.
- Suppress the
deprecated_member_usewarning in the example app for
- Update android compileSdkVersion to 29.
- Fixed garbled audio (in video) by setting audio encoding bitrate.
- Keep handling deprecated Android v1 classes for backward compatibility.
- Avoiding uses or overrides a deprecated API in CameraPlugin.java.
- Fix compilation/availability issues on iOS.
- Fixed bug caused by casting a
- Fix bug in usage example in README.md
- Post-v2 embedding cleanups.
- Update lower bound of dart dependency to 2.1.0.
- Remove Android dependencies fallback.
- Require Flutter SDK 1.12.13+hotfix.5 or greater.
- Replace deprecated
getFlutterEnginecall on Android.
- Fix an Android crash when permissions are requested multiple times.
- Remove the deprecated
author:field from pubspec.yaml
- Migrate the plugin to the pubspec platforms manifest.
- Require Flutter SDK 1.10.0 or greater.
- Fix example null exception.
- Fix unawaited futures.
- Android: Use CameraDevice.TEMPLATE_RECORD to improve image streaming.
- Remove AndroidX warning.
- Include lifecycle dependency as a compileOnly one on Android to resolve potential version conflicts with other transitive libraries.
- Android: Use android.arch.lifecycle instead of androidx.lifecycle:lifecycle in
build.gradleto support apps that has not been migrated to AndroidX.
- Add support for the v2 Android embedding. This shouldn't affect existing functionality.
- Fix event type check
- Define clang modules for iOS.
- Update and migrate iOS example project.
- Fix Android NullPointerException on devices with only front-facing camera.
- Fix Android pause and resume video crash when executing in APIs below 24.
- Add feature to pause and resume video recording.
- Fix too large request code for FragmentActivity users.
- Added new quality presets.
- Now all quality presets can be used to control image capture quality.
- Fix memory leak related to not unregistering stream handler in FlutterEventChannel when disposing camera.
- Fix bug that prevented video recording with audio.
- Added capability to disable audio for the
CameraController(_, _, enableAudio: false);)
- Can now be compiled with earlier Android sdks below 21 when
<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
- Breaking Change This plugin no longer handles closing and opening the camera on Android
lifecycle changes. Please use
WidgetsBindingObserverto control camera resources on lifecycle changes. See example project for example using
- Bump the minimum Flutter version to 1.2.0.
- Add template type parameter to
- Catch additional
Exceptions from Android and throw as
- Add capability to prepare the capture session for video recording on iOS.
- Add sensor orientation value to
- Camera methods are ran in a background thread on iOS.
- Fixed a crash when the plugin is registered by a background FlutterView.
- Fix orientation of captured photos when camera is used for the first time on Android.
- Remove categories.
- Breaking Change Change iOS image stream format to
- Fixed bug causing black screen on some Android devices.
- Log a more detailed warning at build time about the previous AndroidX migration.
- Fix issue with calculating iOS image orientation in certain edge cases.
- Remove initial method call invocation from static camera method.
- Breaking change. Migrate from the deprecated original Android Support Library to AndroidX. This shouldn't result in any functional changes, but it requires any Android apps using this plugin to also migrate if they're using the original support library.
- Fix a crash when failing to start preview.
- Save photo orientation data on iOS.
- Add access to the image stream from Dart.
cameraController.startImageStream(listener)to process the images.
- Fix issue with crash when the physical device's orientation is unknown.
- Update the camera to use the physical device's orientation instead of the UI orientation on Android.
- Fix preview and video size with satisfying conditions of multiple outputs.
- Unregister the activity lifecycle callbacks when disposing the camera.
- Added path_provider and video_player as dev dependencies because the example uses them.
- Updated example path_provider version to get Dart 2 support.
- iOS image capture is done in high quality (full camera size)
- Updated Gradle tooling to match Android Studio 3.1.2.
- Added support for video recording.
- Changed the example app to add video recording.
A lot of breaking changes in this version:
start(the preview starts automatically when
stop(the preview stops automatically when
- Fix Dart 2 runtime errors.
- Fix Dart 2 runtime error.
- Breaking change. Set SDK constraints to match the Flutter beta release.
- Revert regression of
CameraController.capture()introduced in v. 0.0.3.
- Improved resource cleanup on Android. Avoids crash on Activity restart.
- Made the Future returned by
CameraController.capture()actually complete on Android.
- Simplified and upgraded Android project template to Android SDK 27.
- Moved Android package to io.flutter.plugins.
- Fixed warnings from the Dart 2.0 analyzer.
- Initial release