picker_pro_max_ultra 2.0.5
picker_pro_max_ultra: ^2.0.5 copied to clipboard
Advanced media picker for Flutter with support for images, videos, camera capture, documents, and multi-selection.
๐ฆ picker_pro_max_ultra #
A powerful and customizable media picker for Flutter, built with performance and ease of use in mind.
Easily pick images , file and videos from device storage or capture new ones with camera support. Comes with advanced features like folder browsing, multi-selection, capture image from camera, and custom UI also allow to pick file.
Feature | Android | iOS | Web | Windows | macOS | Linux |
---|---|---|---|---|---|---|
Image Picker | โ | โ | โ | โ | โ | โ |
Video Picker | โ | โ | โ | โ | โ | โ |
Document Picker | โ | โ | โ | โ | โ | โ |
Audio Picker | โ | โ | โ | โ | โ | โ |
Camera (Capture) | โ | โ | โ | โ | โ | โ |
โจ Features #
- ๐ธ Capture image & video using the camera
- ๐ผ Pick images & videos from the gallery
- ๐ Folder-based media browsing
- ๐ Multi-selection support
- ๐ File pick support
- ๐ต Audio picker (Android only)
- โก Fast loading with optimized performance
๐ Installation #
Add this to your pubspec.yaml
:
dependencies:
picker_pro_max_ultra: ^<latest_version>
Replace <latest_version>
with the latest version
on pub.dev.
โ๏ธ Setup #
๐ Note
Permission handling (e.g. for accessing media, storage, or camera) must be implemented from the Flutter side using packages like
permission_handler
or through manual platform configuration.This plugin does not request or manage permissions internally.
โ Android #
Add the following permissions to
your AndroidManifest.xml
(android/app/src/main/AndroidManifest.xml
):
<!-- Media Access -->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<!-- Camera Access -->
<uses-permission android:name="android.permission.CAMERA" />
๐ iOS #
Add the following entries to your ios/Runner/Info.plist
:
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to your photo library.
</string>
<key>NSCameraUsageDescription</key>
<string>This app requires access to the camera.</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app requires access to the microphone.</string>
๐งช Example Usage #
// Pick media
// show loader
MediaPicker(
context: context,
maxLimit: 5 ?? 1,
mediaType: MediaType.image)
.showPicker()
.then((file) {
// hide loader
if (file != null) {
filePath = file.first.mediaFile!.path;
setState(() {});
}
}).catchError((onError) {
// hide loader
});
// Capture from camera
MediaPicker(
context: context,
).capturedFile().then((file) {
/// hide loader
if (file != null) {
filePath = file.path;
setState(() {});
}
}).catchError((onError) {
/// hide loader
});
// Document
MediaPicker(
context: context,
).picFile().then((file) {
/// hide loader
if (file != null) {
filePath = file.path;
setState(() {});
}
}).catchError((onError) {
/// hide loader
});
For a full example, check out the example folder. | |
๐ฅ Demo (Screen Recording) #
๐งฉ Contributions #
Contributions, issues, and feature requests are welcome!
Feel free to check issues page.
๐ License #
This project is licensed under the MIT License.