chewie2 0.10.2

  • Readme
  • Changelog
  • Example
  • Installing
  • new72

chewie2 #

The video player for Flutter with a heart of gold.

This is a Chewie fork than fix bugs still PR be analised.

The video_player plugin provides low-level access to video playback. Chewie uses the video_player under the hood and wraps it in a friendly Material or Cupertino UI!

Installation #

In your pubspec.yaml file within your Flutter Project:

dependencies:
  chewie: <latest_version>
  video_player: <latest_version>

Use it #

import 'package:chewie2/chewie2.dart';
final videoPlayerController = VideoPlayerController.network(
    'https://flutter.github.io/assets-for-api-docs/videos/butterfly.mp4');

final chewieController = ChewieController(
  videoPlayerController: videoPlayerController,
  aspectRatio: 3 / 2,
  autoPlay: true,
  looping: true,
);

final playerWidget = Chewie(
  controller: chewieController,
);

Please make sure to dispose both controller widgets after use. For example by overriding the dispose method of the a StatefulWidget:

@override
void dispose() {
  videoPlayerController.dispose();
  chewieController.dispose();
  super.dispose();
}

Example #

Please run the app in the example/ folder to start playing!

Migrating from Chewie < 0.9.0

Instead of passing the VideoPlayerController and your options to the Chewie widget you now pass them to the ChewieController and pass that latter to the Chewie widget.

final playerWidget = Chewie(
  videoPlayerController,
  aspectRatio: 3 / 2,
  autoPlay: true,
  looping: true,
);

becomes

final chewieController = ChewieController(
  videoPlayerController: videoPlayerController,
  aspectRatio: 3 / 2,
  autoPlay: true,
  looping: true,
);

final playerWidget = Chewie(
  controller: chewieController,
);

iOS warning #

The video player plugin used by chewie is not functional on iOS simulators. An iOS device must be used during development/testing. Please refer to this issue.

Changelog #

0.10.2 #

  • fix minor bugs

0.10.1 #

  • fix fullscreen and autoplay bugs

0.10.0 #

  • Changed wakelock plugin from flutter_screen to wakelock due to lack of maintenance of flutter_screen.

0.9.8+1 #

  • Require latest flutter stable version

0.9.8 #

  • Hero Widget is no longer used (thanks @localpcguy)
  • Tap to hide controls (thanks @bostrot)
  • Replay on play when video is finished (thanks @VictorUvarov)

0.9.7 #

  • Errors are properly handled. You can provide the Widget to display when an error occurs by providing an errorBuilder function to the ChewieController constructor.
  • Add ability to override the fullscreen page builder. Allows folks to customize that functionality!

0.9.6 #

  • Update to work with video_player: ">=0.7.0 <0.11.0"

0.9.5 #

  • Cosmetic change -> remove unfinished fit property which slipped into the last release

0.9.4 #

  • Add overlay option to place a widget between the video and the controls
  • Update to work with video_player: ">=0.7.0 <0.10.0"

0.9.3 #

  • Absorb pointer when controls are hidden

0.9.2 #

  • Add options to define system overlays after exiting full screen
  • Add option to hide mute button

0.9.1 #

  • Add option to hide full screen button

0.9.0 #

  • Breaking changes: Add a ChewieController to make customizations and control from outside of the player easier. Refer to the README for details on how to upgrade from previous versions.

0.8.0 #

  • Update to work with video_player: ">=0.7.0 <0.8.0 - Thanks @Sub6Resources
  • Preserves AspectRatio on FullScreen - Thanks @patrickb
  • Ability to start video in FullScreen - Thanks @miguelpruivo

0.7.0 #

  • Requires Dart 2
  • Updated dependencies that were not Dart 2 compatible

0.6.1 #

  • Fix time formatting
  • Fix skipping
  • Remove listener when disposed
  • Start video at certain position

0.6.0 #

  • Update to work with video_player: ">=0.6.0 <0.7.0

0.5.1 #

  • Update README to fix installation instructions

0.5.0 #

  • Update to work with video_player: ">=0.5.0 <0.6.0

0.3.0 #

  • Update to work with video_player: ">=0.2.0 <0.3.0
  • Add showControls option. You can use this to show / hide the controls
  • Move from VideoProgressColors to ChewieProgressColors for customization of the Chewie progress controls
  • Remove progressColors in favor of platform-specific customizations: cupertinoProgressColors and materialProgressColors to control
  • Add analysis options

0.2.0 #

  • Take a controller instead of a String uri. Allows for better control of playback outside the player if need be.

0.1.1 #

  • Fix images in docs for pub

0.1.0 #

Initial version of Chewie, the video player with a heart of gold.

  • Hand a VideoPlayerController to Chewie, and let it do the rest.
  • Includes Material Player Controls
  • Includes Cupertino Player Controls
  • Spike version: Focus on good looking UI. Internal code is sloppy, needs a refactor and tests

example/README.md

Chewie Example #

An example of how to use the chewie for Flutter

Getting Started #

For help getting started with Flutter, view our online documentation.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  chewie2: ^0.10.2

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:chewie2/chewie2.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
45
Health:
Code health derived from static analysis. [more]
99
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
72
Learn more about scoring.

We analyzed this package on Dec 13, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.0
  • pana: 0.13.1+4
  • Flutter: 1.12.13+hotfix.4

Health suggestions

Fix lib/src/chewie_player.dart. (-1 points)

Analysis of lib/src/chewie_player.dart reported 2 hints:

line 196 col 5: Don't explicitly initialize variables to null.

line 278 col 17: 'inheritFromWidgetOfExactType' is deprecated and shouldn't be used. Use dependOnInheritedWidgetOfExactType instead. This feature was deprecated after v1.12.1..

Format lib/src/cupertino_controls.dart.

Run flutter format to format lib/src/cupertino_controls.dart.

Format lib/src/material_controls.dart.

Run flutter format to format lib/src/material_controls.dart.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.28.0 <3.0.0
flutter 0.0.0
open_iconic_flutter >=0.3.0 <0.4.0 0.3.0
video_player >=0.7.0 <0.11.0 0.10.5
wakelock >=0.1.2 <0.2.0 0.1.3+3
Transitive dependencies
collection 1.14.11 1.14.12
flutter_web_plugins 0.0.0
meta 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
video_player_platform_interface 1.0.4
video_player_web 0.1.1+1
Dev dependencies
flutter_test