flutube 0.8.1

FluTube #

Embed Youtube videos in your flutter apps just by passing in the video URL!

PLEASE NOTE: Embedding copyrighted videos is actually not possible. Please use flutter_youtube instead.

This plugin uses an in-built API so the official YT API is not used here and therefore you don't need any API keys.

This plugin also uses the great plugin Chewie to provide a nice material or cupertino video player. And please note this plugin is NOT a replacement for Chewie. Chewie is a great plugin and here we are just using it.

Huge thank you to @brianegan for developing Chewie.

Demo #

Demo

Installation #

In your pubspec.yaml file within your Flutter Project:

dependencies:
  flutube: ^0.8.1

Use it #

import 'package:flutube/flutube.dart';

final flutubePlayer = Flutube(
  '<Youtube URL>',
  aspectRatio: 16 / 9,
  autoPlay: true,
  looping: true,
  onVideoStart: () {),
  onVideoEnd: () {},
);

Example #

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

0.8.1 #

  • Fix typo (thanks to @marcosgallardo)

0.8.0 #

  • Added native support for playlists
  • Fix looping bug
  • Fix #9 & #10 (thanks to @murilobaixou)

0.7.3 #

  • Small bug fix

0.7.2 #

  • Deleted unnecesary files
  • Updated dependencies

0.7.1 #

  • Added options to allow muting, prevent screen sleep and controlling fullscreen mode.

0.7.0 #

  • Updated to work with Chewie ^0.9.0

0.6.2 #

  • Fix copy-paste issue

0.6.1 #

  • Fix minor bugs

0.6.0 #

  • Fixed bugs and added example on how to implement a playlist

0.5.2 #

  • Fixed possible stack overflow on videoEnd callback.

0.5.1 #

  • Fixed autoPlay not working due to video thumbnail
  • Added fullscreenByDefault property

0.5.0 #

  • Added onVideoStart and onVideoEnd (extremely useful) callbacks

0.4.3-4 #

  • Revert 0.4.2 as it was not working

0.4.1-2 #

  • Changed dispose approach trying to fix some errors derived from video disposal

0.4.0 #

  • Added thumbnail to videos (thumbnail loads directly from YT). You can control whether you want to display the original video thumbnail with the showThumb property. The default value is true.

0.3.1 #

  • Fix bugs
  • You can now access the inner video controller via GlobalKey<FlutubeState>

0.3.0 #

  • Updated Chewie to 0.8.0
  • Removed unnecessary code
  • Fixed bugs

0.2.0 #

  • Fix #2
  • Fixed a potential bug that made videos don't stop playing when route was deactivated

0.1.2 #

  • Fixed a bug which made autoStart property not work without setting autoInitialize to true.

0.1.1 #

  • Updated http dependency to allow installation on all Flutter channels.

0.1.0 #

  • Added in-plugin API. The plugin does not depend anymore on the YT Link Deconstructor hosted on HerokuApp.

0.0.1 #

  • Initial release.

example/README.md

flutube_example #

Demonstrates how to use the flutube plugin.

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:
  flutube: ^0.8.1

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:flutube/flutube.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
82
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]
90
Learn more about scoring.

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

  • Dart: 2.4.0
  • pana: 0.12.19
  • Flutter: 1.7.8+hotfix.3

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Health suggestions

Fix lib/src/flutube_player.dart. (-1.49 points)

Analysis of lib/src/flutube_player.dart reported 3 hints:

line 9 col 7: This class (or a class which this class inherits from) is marked as '@immutable', but one or more of its instance fields are not final: FluTube._videourls

line 68 col 5: The type parameter 'videourl' is annotated with @required but only named parameters without default value can be annotated with it.

line 91 col 5: The type parameter 'playlist' is annotated with @required but only named parameters without default value can be annotated with it.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.68.0 <3.0.0
chewie >=0.9.7 <0.10.0 0.9.7
flutter 0.0.0
http >=0.12.0 <0.13.0 0.12.0+2
Transitive dependencies
async 2.3.0
charcode 1.1.2
collection 1.14.11
http_parser 3.1.3
meta 1.1.6 1.1.7
open_iconic_flutter 0.3.0
path 1.6.2
pedantic 1.8.0+1
screen 0.0.5
sky_engine 0.0.99
source_span 1.5.5
string_scanner 1.0.4
term_glyph 1.1.0
typed_data 1.1.6
vector_math 2.0.8
video_player 0.10.1+4

Admin