Search packages, repositories and app categories

GitHub repositoryhoanglm4/flutter_youtube_view

flutter_youtube_view

Youtube widget for Flutter

flutter_youtube_view project cover
Stars
65
Forks
44
Last push (UTC)
Feb 15, 2024
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

flutter_youtube_view

This plugin provides Inlining YouTube player. To interact with YouTube the library uses the Frame Player API, inside of a WebView (Android), WKWebview (iOS). Therefore the YouTube app is not required on the user's device and there are no issues with YouTube Terms of Service.

This plugin using:

  • Android: https://github.com/PierfrancescoSoffritti/android-youtube-player
  • iOS: https://github.com/rinov/YoutubeKit

APK sample: https://github.com/hoanglm4/flutter_youtube_view/tree/master/example/android/APK

How to Use

1. Depend

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

dependencies:
  flutter_youtube_view: ^2.0.4
2. Install

Run command:

$ flutter packages get
3. Import

Import in Dart code:

import 'package:flutter_youtube_view/flutter_youtube_view.dart';

Currently apps need to opt-in for the UIViews embedding preview on iOS by adding a boolean property to the Info.plist (key=io.flutter.embedded_views_preview value=YES).

4. Using Youtube View
 Container(
          child: FlutterYoutubeView(
                onViewCreated: _onYoutubeCreated,
                listener: this,
                scaleMode: YoutubeScaleMode.none, // <option> fitWidth, fitHeight
                params: YoutubeParam(
                      videoId: 'gcj2RUWQZ60', 
                      showUI: false, 
                      startSeconds: 0.0, // <option>
                      autoPlay: false) // <option>
                )
            ),

Features

Call IFrame API during playback
  • play()
  • pause()
  • loadOrCueVideo()
  • seekTo()
  • setVolume() only Android
  • mute()
  • unMute()
  • setPlaybackRate(rate: PlaybackRate.RATE_1) or setPlaybackRate(rateValue: 1.0)
PLAYER callback
  void onReady();

  void onStateChange(String state); // UNKNOWN, UNSTARTED, ENDED, PLAYING, PAUSED, BUFFERING, VIDEO_CUED

  void onError(String error); // INVALID_PARAMETER_IN_REQUEST, HTML_5_PLAYER, VIDEO_NOT_FOUND, VIDEO_NOT_PLAYABLE_IN_EMBEDDED_PLAYER

  void onVideoDuration(double duration);

  void onCurrentSecond(double second);
Le Minh Hoang GitHub avatar
GitHub author

Le Minh Hoang ↗

LanguagesKotlinSwiftDartHTMLRubyObjective-C

Dependencies used

Dependency list 1 items

  • flutter{"sdk":"flutter"}

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗