0 purchases
flutter media picker pro
Introduction #
FlutterMediaPickerPro is a powerful, feature-rich Flutter package designed to streamline media handling within your Flutter applications. It offers a unified interface for picking images and videos from both the camera and gallery, compressing media files, and optionally embedding timestamps on images and videos. Additionally, it provides robust audio management capabilities, allowing users to pick audio files from documents, record audio, and play it back seamlessly.
Features #
Image & Video Picking: Easily select images and videos from the device's gallery or capture them directly from the camera.
Media Compression: Efficiently compress images and videos to reduce file size without significant quality loss.
Timestamp Embedding: Optionally add timestamps to images and videos, enhancing media with contextual time information.
Audio Management: Pick audio files from documents, record audio directly within the app, and play audio files effortlessly.
Cross-Platform Support: Designed to work seamlessly on iOS and Android platforms, ensuring a consistent user experience across devices.
Why FlutterMediaPickerPro ? #
FlutterMediaPickerPro stands out by offering a comprehensive suite of media handling functionalities under one roof. Whether you're building a social media app, a content creation tool, or any application that requires robust media management capabilities, FlutterMediaPickerPro simplifies the development process. Its intuitive API and extensive documentation make integrating advanced media features straightforward, enabling developers to focus on crafting exceptional user experiences.
Example Usage #
Here's a quick glimpse at how easy it is to pick an image from the gallery and compress it using FlutterMediaPickerPro:
import 'package:flutter_media_picker_pro/flutter_media_picker_pro.dart';
final FlutterMediaPickerPro mediaPicker = FlutterMediaPickerPro();
final XFile? pickedFile = await FlutterMediaPickerPro.getMedia(isRecording: isRecording,isAudio: isAudio,
isSourceCamera: false,context: context, isVideo: isVideo, ref: ref, isCompressionRequired: true,
isNeedTimeStamp: true,onProcessing: (bool isProcessing) {
setState(() {
_isProcessing = isProcessing;
});
},);
copied to clipboard
Setup, permissions and others #
Android #
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- Optional: Add this permission if you want to use bluetooth telephony device like headset/earbuds -->
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<!-- Optional: Add this permission if you want to save your recordings in public folders -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
copied to clipboard
min SDK: 23 (amrNb/amrWb: 26, Opus: 29)
Audio formats sample rate hints
iOS #
<key>NSAppTransportSecurity</key>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Your message explaining why the app needs access to the photo library</string>
<key>UISupportsDocumentBrowser</key>
<true/>
<key>NSAppleMusicUsageDescription</key>
<string>Explain why your app uses music</string>
<key>NSCameraUsageDescription</key>
<string>Your message explaining why the app needs to use the camera</string>
<key>UISupportedInterfaceOrientations</key>
<key>NSMicrophoneUsageDescription</key>
<string>Your message explaining why the app needs to use the microphone</string>
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.