media_cache_manager 0.1.0 copy "media_cache_manager: ^0.1.0" to clipboard
media_cache_manager: ^0.1.0 copied to clipboard

outdated

This package helps you to cache media (Audio, Video, Image, etc...).

example/lib/main.dart

import 'dart:io';
import 'package:better_player/better_player.dart';
import 'package:flutter/material.dart';
import 'package:media_cache_manager/media_cache_manager.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await DownloadCacheManager.setExpireDate(daysToExpire: 1);
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  late DownloadMediaBuilderController controller;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Column(
          crossAxisAlignment: CrossAxisAlignment.stretch,
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            DownloadMediaBuilder(
              url: 'https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_30mb.mp4',
              onInit: (controller) => this.controller = controller,
              builder: (context, snapshot) {
                if (snapshot.status == DownloadMediaStatus.loading) {
                  return Column(
                    mainAxisAlignment: MainAxisAlignment.center,
                    crossAxisAlignment: CrossAxisAlignment.stretch,
                    children: [
                      LinearProgressIndicator(
                        value: snapshot.progress,
                      ),
                      const SizedBox(height: 20),
                      ElevatedButton(
                        onPressed: controller.cancelDownload,
                        child: const Text('Cancel Download'),
                      ),
                    ],
                  );
                }
                if (snapshot.status == DownloadMediaStatus.canceled) {
                  return ElevatedButton(
                    onPressed: controller.retry,
                    child: const Text('Retry'),
                  );
                }
                if (snapshot.status == DownloadMediaStatus.success) {
                  return BetterPlayer.file(snapshot.filePath!);
                }
                return const Text('Error!');
              },
            ),
          ],
        ),
      ),
    );
  }
}
84
likes
0
points
344
downloads

Publisher

unverified uploader

Weekly Downloads

This package helps you to cache media (Audio, Video, Image, etc...).

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

dio, flutter, get_storage, path_provider

More

Packages that depend on media_cache_manager