audio_video_player 0.1.0-beta.3 copy "audio_video_player: ^0.1.0-beta.3" to clipboard
audio_video_player: ^0.1.0-beta.3 copied to clipboard

A comprehensive Flutter plugin for audio and video playback with playlists, albums, background audio, PiP, downloads and more.

example/lib/main.dart

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

import 'screens/audio_demo_screen.dart';
import 'screens/playlist_demo_screen.dart';
import 'screens/video_demo_screen.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await AudioVideoPlayerPlugin.init(
    androidNotificationChannelId: 'com.rameshwaramancha.example.channel',
    androidNotificationChannelName: 'Example Audio',
  );

  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Audio & Video Player Demo',
      theme: ThemeData(colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), useMaterial3: true),
      home: const HomeScreen(),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('audio_video_player demo')),
      body: ListView(
        children: [
          ListTile(
            leading: const Icon(Icons.music_note),
            title: const Text('Single Audio Track'),
            subtitle: const Text('AudioController – single item'),
            trailing: const Icon(Icons.chevron_right),
            onTap: () => Navigator.push(context, MaterialPageRoute(builder: (_) => const AudioDemoScreen())),
          ),
          const Divider(),
          ListTile(
            leading: const Icon(Icons.queue_music),
            title: const Text('Audio Playlist'),
            subtitle: const Text('Playlist, shuffle, repeat, sleep timer'),
            trailing: const Icon(Icons.chevron_right),
            onTap: () => Navigator.push(context, MaterialPageRoute(builder: (_) => const PlaylistDemoScreen())),
          ),
          const Divider(),
          ListTile(
            leading: const Icon(Icons.videocam),
            title: const Text('Video Player'),
            subtitle: const Text('Chewie UI, PiP, video playlist'),
            trailing: const Icon(Icons.chevron_right),
            onTap: () => Navigator.push(context, MaterialPageRoute(builder: (_) => const VideoDemoScreen())),
          ),
        ],
      ),
    );
  }
}