Last updated:
0 purchases
enough media
enough_media #
An opinionated but extensible framework for media previews and interactions.
This is useful for apps that handle a variety of media files.
Originally motivated by creating a Flutter email app.
Getting Started #
import 'package:enough_media/enough_media.dart';
Create a MediaProvider, e.g.
UrlMediaProvider('funny.png', 'image/png', 'https://domain.com/resources/funny.png'),
AssetMediaProvider('funny.png', 'image/png', 'stuff/funny.png'), or
MemoryMediaProvider('funny.png', 'image/png', data) // data is a Uint8List
Either build a PreviewMediaWidget or an InteractiveMediaWidget.
Done :-)
Example #
import 'package:enough_media/enough_media.dart';
import 'dart:typed_data';
import 'package:flutter/material.dart';
/// Preview media.
Widget buildPreview(String name, String mimeType, Uint8List data) {
final mediaProvider = MemoryMediaProvider(name, mimeType, data);
return PreviewMediaWidget(
mediaProvider: mediaProvider,
);
}
/// Provide interactive media, typically for near-fullscreen experiences:
Widget buildInteractive(String name, String mimeType, Uint8List data) {
final mediaProvider = MemoryMediaProvider(name, mimeType, data);
return InteractiveMediaWidget(
mediaProvider: mediaProvider,
);
}
/// Preview media and let enough_media move to the interactive experience with a Hero-based animation:
Widget buildPreviewWithShowInteractiveDelegate(
BuildContext context, String name, String mimeType, Uint8List data) {
final mediaProvider = MemoryMediaProvider(name, mimeType, data);
return PreviewMediaWidget(
mediaProvider: mediaProvider,
showInteractiveDelegate: (media) => Navigator.of(context)
.push(MaterialPageRoute(builder: (_) => Scaffold(body: media))),
);
}
copied to clipboard
API Documentation #
Check out the full API documentation at https://pub.dev/documentation/enough_media/latest/
Installation and Setup #
Add this dependency your pubspec.yaml file:
dependencies:
enough_media: ^2.2.0
copied to clipboard
The latest version or enough_media is .
For video setup please follow the instructions on https://pub.dev/packages/video_player.
Features and bugs #
Please file feature requests and bugs at the issue tracker.
License #
Licensed under the commercial friendly Mozilla Public License 2.0.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.