better_player 0.0.30 copy "better_player: ^0.0.30" to clipboard
better_player: ^0.0.30 copied to clipboard

outdated

Advanced video player based on video_player and Chewie. It's solves many typical use cases and it's easy to run.

example/lib/main.dart

import 'package:better_player/better_player.dart';
import 'package:better_player_example/playlist_page/playlist_page.dart';
import 'package:better_player_example/video_list/video_list_page.dart';
import 'package:flutter/material.dart';

import 'general_page/general_page.dart';
import 'package:flutter_localizations/flutter_localizations.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Better player demo',
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
      ],
      supportedLocales: [
        const Locale('en', 'US'),
        const Locale('pl', 'PL'),
      ],
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MainPage(),
    );
  }
}

class MainPage extends StatefulWidget {
  MainPage({Key key}) : super(key: key);

  @override
  _MainPageState createState() => _MainPageState();
}

class _MainPageState extends State<MainPage> {
  static const List<String> pageTitles = ["General", "Playlist", "Video list"];

  BetterPlayerController betterPlayerController;
  List dataSourceList = List<BetterPlayerDataSource>();
  int _selectedIndex = 0;

  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Better Player - ${pageTitles[_selectedIndex]}"),
      ),
      body: _getSelectedPage(),
      bottomNavigationBar: BottomNavigationBar(
        items: <BottomNavigationBarItem>[
          BottomNavigationBarItem(
            icon: Icon(Icons.business_center),
            title: Text(pageTitles[0]),
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.business),
            title: Text(pageTitles[1]),
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.home),
            title: Text(pageTitles[2]),
          ),
        ],
        currentIndex: _selectedIndex,
        selectedItemColor: Colors.black,
        onTap: _onItemTapped,
      ),
    );
  }

  void _onItemTapped(int index) {
    setState(() {
      _selectedIndex = index;
    });
  }

  Widget _getSelectedPage() {
    if (_selectedIndex == 0) {
      return GeneralPage();
    } else if (_selectedIndex == 1) {
      return PlaylistPage();
    } else {
      return VideoListPage();
    }
  }
}
1136
likes
0
pub points
97%
popularity

Publisher

unverified uploader

Advanced video player based on video_player and Chewie. It's solves many typical use cases and it's easy to run.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter, flutter_hls_parser, flutter_widget_from_html_core, meta, open_iconic_flutter, pedantic, visibility_detector, wakelock

More

Packages that depend on better_player