FLUTTER ECOSYSTEM

SunnatilloShavkatov/better_player_plus

适用于 Flutter 的更好视频播放器,具有多种配置选项。解决典型使用场景!

better_player_plus 项目封面
Stars
72
Forks
159
最近推送(UTC)
2026年9月4日
项目状态
未归档
Sunnatillo Shavkatov GitHub avatar
GITHUB User

Sunnatillo Shavkatov ↗

BeelabTashkent City
语言DartKotlinSwiftShellRubyObjective-C

使用的依赖

依赖清单 8 项

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

Better Player Plus

Need anything Flutter related? Reach out on LinkedIn

Pub License Platform

Advanced video player for Flutter, based on video_player and inspired by Chewie and Better Player. It solves many common use cases out of the box and is easy to integrate.

https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/1.png https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/2.png https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/3.png https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/4.png https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/5.png https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/6.png
https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/7.png https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/8.png https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/9.png https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/10.png https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/11.png https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/12.png
https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/13.png https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/14.png https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/15.png https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/16.png
Features
  • ✔️ Fixed common playback bugs
  • ✔️ Advanced configuration options
  • ✔️ Refactored, customizable player controls (Material & Cupertino)
  • ✔️ Playlists
  • ✔️ ListView/feeds autoplay support
  • ✔️ Subtitles: SRT, WebVTT (HTML tags), HLS subtitles, multiple tracks
  • ✔️ HTTP headers support
  • ✔️ BoxFit for video
  • ✔️ Playback speed control
  • ✔️ HLS (tracks, segmented subtitles, audio tracks)
  • ✔️ DASH (tracks, subtitles, audio tracks)
  • ✔️ Alternate resolutions
  • ✔️ Caching
  • ✔️ Notifications
  • ✔️ Picture-in-Picture
  • ✔️ DRM (token, Widevine, FairPlay via EZDRM)
Installation

Add the dependency in your pubspec.yaml:

dependencies:
  better_player_plus: ^1.3.2

Import the package:

import 'package:better_player_plus/better_player_plus.dart';
Quick start

Minimal example showing a network source:


final dataSource = BetterPlayerDataSource(
  BetterPlayerDataSourceType.network,
  'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
);

final controller = BetterPlayerController(
  const BetterPlayerConfiguration(),
  betterPlayerDataSource: dataSource,
);

// In your widget tree
BetterPlayer
(
controller
:
controller
);
Documentation
Important information

This package is actively evolving. Breaking changes may appear between versions. Contributions are welcome — please open issues or pull requests.

License

Apache 2.0 — see LICENSE.

Recent Updates (v1.2.0)
  • SDK Update: Dart SDK >=3.11.0, Flutter SDK >=3.41.0, Android Media3 1.10.0
  • iOS Fixes: Preserved playback speed across seek/pause/resume; fixed AVPlayer aspect ratio issues; added wakelock (disable auto-sleep) support
  • Audio: Fixed audio track override not being cleared before applying a new one; improved HLS default audio source selection
  • Controls: Fixed controlsVisibilityStream feedback loop and auto-hide emit behaviour
  • Code Quality: Zero dart analyze issues — all errors, warnings and info resolved
Credits

This work builds on the great foundations of Chewie and the original Better Player. Thanks to all contributors of those projects.

Special Thanks: This project benefited greatly from Cursor AI assistance during the iOS Objective-C to Swift migration process.