video_player_controls 2.0.3 copy "video_player_controls: ^2.0.3" to clipboard
video_player_controls: ^2.0.3 copied to clipboard

discontinued
outdated

Video player controls in a flutter video player package with more custom user interface and state management via flutter bloc

example/lib/main.dart

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';
import 'package:video_player_controls/video_player_controls.dart';

void main() {
  runApp(
    ChewieDemo(),
  );
}

class ChewieDemo extends StatefulWidget {
  ChewieDemo({this.title = 'Chewie Demo'});

  final String title;

  @override
  State<StatefulWidget> createState() {
    return _ChewieDemoState();
  }
}

class _ChewieDemoState extends State<ChewieDemo> {
  VideoPlayerController _videoPlayerController1;
  Controller controller;
  @override
  void initState() {
    super.initState();
    controller = new Controller(
        items: [
          new PlayerItem(
            title: 'video 1',
            url:
                'https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4',
          ),
          new PlayerItem(
            startAt: Duration(seconds: 2),
            title: 'video 2',
            url:
                'https://flutter.github.io/assets-for-api-docs/assets/videos/butterfly.mp4',
          ),
          new PlayerItem(
            title: 'video 3',
            url:
                'https://flutter.github.io/assets-for-api-docs/assets/videos/butterfly.mp4',
          ),
        ],
        progressColors: ProgressColors(playedColor: Colors.redAccent),
        autoPlay: true,
        autoInitialize: true,
        // isLooping: false,
        aspectRatio: 16 / 9,
        allowedScreenSleep: false,
        // showControls: false,
        // hasSubtitles: true,
        // isLive: false,
        // showSeekButtons: false,
        // showSkipButtons: false,
        // allowFullScreen: false,
        // fullScreenByDefault: true,
        placeholder: new Container(
          color: Colors.grey,
        ),
        isPlaying: (isPlaying) {
          //
          // print(isPlaying);
        },
        onError: (error) {
          //
          // print(error['hasError']);
          // print(error['message']);
        },
        playerItem: (playerItem) {
          // print('Player title: ' + playerItem.title);
          // print('position: ' + playerItem.position.inSeconds.toString());
          // print('Duration: ' + playerItem.duration.inSeconds.toString());
        });
  }

  @override
  void dispose() {
    _videoPlayerController1.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: widget.title,
      theme: ThemeData.dark(),
      home: Scaffold(
        backgroundColor: Colors.black,
        body: Center(
          child: VideoPlayerControls(
            controller: controller,
          ),
        ),
      ),
    );
  }
}
17
likes
0
pub points
26%
popularity

Publisher

verified publisherhustlance.com

Video player controls in a flutter video player package with more custom user interface and state management via flutter bloc

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

bloc, equatable, flutter, flutter_bloc, http, video_player, wakelock

More

Packages that depend on video_player_controls