audio_video_player 0.1.0-beta.3
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())),
),
],
),
);
}
}