Package selection guidance compiled from public package information, community data, and project usage.
YPlayer is a Flutter package that simplifies the integration of YouTube videos into Flutter applications. It provides a customizable video player widget designed to embed and play YouTube content seamlessly across multiple platforms. With minimal setup, developers can display YouTube videos using video IDs or URLs, supporting responsive design and basic playback controls. The package leverages native YouTube players on each platform for optimal performance and compatibility.
Use cases
Embedding YouTube videos in apps
Creating educational content players
Building media-rich Flutter applications
Integrating video tutorials
Developing streaming or entertainment apps
Key features
Simple video embedding with video ID or URL
Support for Android, iOS, macOS, Windows, and Linux
Responsive and customizable player UI
Built-in playback controls
Native YouTube player integration
Suitable for
Flutter developers building media apps
Educational app creators
Content platforms with video libraries
Apps requiring YouTube video playback
Considerations
Requires internet connection for video loading
Limited customization beyond basic controls
Depends on YouTube's API availability
May need additional permissions for certain platforms
Not suitable for offline video playback
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
YPlayer
YPlayer is a Flutter package that provides an easy-to-use YouTube video player widget. It leverages the power of the youtube_explode_dart package for fetching video information.
Features
Play YouTube videos directly in your Flutter app
Support for fullscreen mode
Optional autoplay
Video Quality selection
Playback speed control
Customizable loading and error widgets
Easy to use API with play, pause, and stop functionality
Callback support for player state changes and progress updates
Customizable progress bar colors
Improved handling of app lifecycle changes and fullscreen mode
Enhanced error handling and recovery
Separate handling of video and audio streams for better quality
Installation
Add y_player to your pubspec.yaml file:
dependencies:y_player:^2.0.0
Then run:
flutter pub get
Usage
First, ensure that you initialize the YPlayer in your main.dart:
Version 2.0.0 introduces significant changes to address the deprecation of muxed streams in YouTube and to improve overall performance. Here are the key changes:
To migrate your existing code:
Update your pubspec.yaml to use version 2.0.0 or later of y_player.
Update your YPlayer widget usage. The basic usage remains the same, but some properties have changed:
YPlayer(
youtubeUrl: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',
color: Colors.red, // New property for customizing controls color// materialProgressColors and cupertinoProgressColors are no longer available
)
If you were using ChewieController directly, you'll need to update to use YPlayerController instead.
These changes address the deprecation of muxed streams in YouTube and provide a more robust and efficient video playback experience. The separate handling of video and audio streams allows for better quality options and more flexibility in playback.