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

A Flutter video player that automatically detects and plays YouTube, Facebook, Instagram, and direct video URLs (mp4/webm) — no configuration needed. Gracefully falls back to an external link for priv [...]

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:url_video_player/url_video_player.dart';

void main() => runApp(const ExampleApp());

class ExampleApp extends StatelessWidget {
  const ExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'UrlVideoPlayer Demo',
      home: _VideoListScreen(),
    );
  }
}

class _VideoListScreen extends StatelessWidget {
  const _VideoListScreen();

  static const _videos = [
    _VideoItem(
      label: 'YouTube',
      url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',
    ),
    _VideoItem(
      label: 'YouTube (short link)',
      url: 'https://youtu.be/dQw4w9WgXcQ',
    ),
    _VideoItem(
      label: 'Facebook',
      url: 'https://www.facebook.com/watch?v=10156049449356729',
    ),
    _VideoItem(
      label: 'Instagram Reel',
      url: 'https://www.instagram.com/reel/C_example/',
    ),
    _VideoItem(
      label: 'Direct MP4',
      url: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
    ),
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('UrlVideoPlayer Demo')),
      body: ListView.separated(
        padding: const EdgeInsets.all(16),
        itemCount: _videos.length,
        separatorBuilder: (_, __) => const SizedBox(height: 12),
        itemBuilder: (context, index) {
          final video = _videos[index];
          return _VideoTile(video: video);
        },
      ),
    );
  }
}

class _VideoTile extends StatelessWidget {
  final _VideoItem video;

  const _VideoTile({required this.video});

  @override
  Widget build(BuildContext context) {
    return ListTile(
      tileColor: Theme.of(context).colorScheme.surfaceContainerHighest,
      shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
      leading: const Icon(Icons.play_circle_outline),
      title: Text(video.label),
      subtitle: Text(
        video.url,
        maxLines: 1,
        overflow: TextOverflow.ellipsis,
        style: const TextStyle(fontSize: 11),
      ),
      onTap: () {
        Navigator.push(
          context,
          MaterialPageRoute(
            builder: (_) => UrlVideoPlayer(
              url: video.url,
              title: video.label,
            ),
          ),
        );
      },
    );
  }
}

class _VideoItem {
  final String label;
  final String url;
  const _VideoItem({required this.label, required this.url});
}
1
likes
140
points
7
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A Flutter video player that automatically detects and plays YouTube, Facebook, Instagram, and direct video URLs (mp4/webm) — no configuration needed. Gracefully falls back to an external link for private or login-required content.

Repository (GitHub)
View/report issues

Topics

#video #player #youtube #facebook #instagram

License

MIT (license)

Dependencies

chewie, flutter, flutter_inappwebview, shimmer_animation, url_launcher, video_player

More

Packages that depend on url_video_player