Advanced video player based on video_player and Chewie. It's solves many typical use cases and it's easy to run.
- Fixed iOS black screen issue
- Fixed full screen placeholder issue
- Fixed event not firing in enterFullScreen and exitFullScreen
- Fixed subtitles parsing issues
- Added memory data source
- Added factories: network, file, memory for BetterPlayerDataSource
- Fixed missing useHlsTracks implementation
- Fixed placeholder showing after full screen when using showPlaceholderUntilPlay
- Added setControlsVisibility to BetterPlayerController
- [BREAKING_CHANGE] Removed showControlsOnInitialize from BetterPlayerConfiguration. Use BetterPlayerControlsConfiguration to set showControlsOnInitialize parameter.
- Fixed cupertino controls issue with hasError
- Fixed BetterPlayerEvent visibility
- Fixed lazy initialization, when first data source is passed after player finishes first render
- Added selectedByDefault to BetterPlayerSubtitlesConfiguration
- Fixed HLS tracks android native code
- Updated example
- Fixed locale picking when context is not mounted anymore
- Added cache feature (based on https://github.com/sanekyy/plugins/tree/caching and https://github.com/vikram25897/flutter_cached_video_player solutions)
- Added BetterPlayerCacheConfiguration to BetterPlayerDataSource
- Refactored Android's native code
- Added showPlaceholderUntilPlay in BetterPlayerConfiguration
- Fixed exception event not being triggered
- Fixed controls not displaying on video finished
- Fixed issue when full screen was triggered twice if autoPlay and fullScreenByDefault were enabled
- Removed flutter_widgets, since it's not maintained anymore. Added instead visibility_detector package (by https://github.com/espresso3389)
- Added rewind and forward buttons for android player.
- Fixed player UI's jank
- Added enableSkips and skipsTimeInMilliseconds in BetterPlayerControlsConfiguration
- Changed middle play button behavior (now it's only used for restart player).
- Updated BetterPlayerControllerProvider visibility.
- Override invalid dependency from wakelock library.
- Updated readme
- Fixed routePageBuilder usage from BetterPlayerConfiguration
- Added overflowMenuIcon, playbackSpeedIcon, qualitiesIcon, subtitlesIcon, overflowMenuIconsColor to BetterPlayerControlsConfiguration
- Added double tap to play/pause video (original idea by https://github.com/r6c)
- Fixed subtitles overflow issue when transitioning between fullscreen and normal state
- Added alignment and backgroundColor in BetterPlayerSubtitlesConfiguration
- Added enableOverflowMenu option in BetterPlayerControlsConfiguration (enable/disable overflow menu)
- Added overflowMenuCustomItems in BetterPlayerControlsConfiguration (show custom menu items in overflow menu)
- [BREAKING_CHANGE] Removed defaultErrorText, loadingNextVideoText, liveText from BetterPlayerControlsConfiguration. To change these values, please use translations in BetterPlayerConfiguration.
- Added BetterPlayerTranslations in BetterPlayerConfiguration. You can use it to setup translations of the player.
- Added fullScreenAspectRatio and deviceOrientationsOnFullScreen to handle different full screen scenarios
- Updated wakelock version
- [BREAKING_CHANGE]: changed API in BetterPlayerControlsConfiguration: enableQualities replaces enableTracks.
- Added support for different video resolutions
- Fixed issue when full screen is being dismissed on changing subtitles
- Added CHANGED_RESOLUTION event
- Added possibility to set multiple subtitles to video
- [BREAKING_CHANGE]: changed API in BetterPlayerDataSource. Instead of one subtitles object, list of subtitles is required.
- General bug fixes.
- Added playerVisibilityChangedBehavior in BetterPlayerConfiguration.
- Changed player behavior when player is not visible in viewport: if player was playing before leaving viewport it will be paused and if user views player again it will start playing automatically.
- Added BetterPlayer.network and BetterPlayer.file methods.
- Changed iOS & Android native classes name to prevent conflict issues with video_player.
- Added support for hls tracks (quality of the videos).
- Added useHlsTracks and hlsTrackName in BetterPlayerDataSource.
- Added CHANGED_TRACK event.
- You can choose track from overflow menu. When there's no tracks to select "Default" will be selected.
- Added enableSubtitles parameter.
- Added rotation parameter in BetterPlayerConfiguration.
- Added support for hls subtitles (BetterPlayer will handle them automatically).
- [BREAKING_CHANGE]: changed API in BetterPlayerSubtitlesSource. To use old API, please use factory: BetterPlayerSubtitlesSource.single.
- Added useHlsSubtitles parameter in BetterPlayerDataSource.
- Added CHANGED_SUBTITLES event.
- User can choose subtitles from overflow menu, when there's no subtitles selected, "none" options will be chosen.
- Fixed loading issue when auto play video feature is enabled in playlist.
- Fixed placeholder not following video fit options (fixed by https://github.com/nicholascioli).
- Updated dependencies.
- Added overflow menu.
- Added playback speed feature (based on https://github.com/shiyiya solution).
- User can choose playback speed from overflow menu.
- Added SET_SPEED event.
- Better player list video player state is preserved on state changed.
- Fixed manual dispose issue.
- Fixed playlists video changing issue (fixed by https://github.com/sokolovstas).
- Added tap to hide feature for iOS player (by https://github.com/gazialankus).
- Fixed CONTROLS_VISIBLE and CONTROLS_HIDDEN events not triggered for ios player (fixed by https://github.com/gazialankus).
- Added seek method to BetterPlayerListVideoPlayerController.
- Changed channel name of video player plugin.
- Fixed dispose issue in cupertino player.
- Fixed iOS crash on dispose.
- Added player headers support.
- Updated dependencies.
- Dart Analysis refactor.
- Added BetterPlayerListVideoPlayerController to control list video player.
- Fixed setState called after dispose.
- General bugfixes.
- Fixed buffering indicator issue on Android.
- Fixed progress bar scroll lag.
- Fixed video duration issue.
- Added HTML subtitles.
- Added reusable video player.
- Bug fixes.
- Changed 'settings' to 'configuration'.
- Removed unused parameters from configuration.
- Documentation update.
- Updated documentation.
- Moved example project from better_player_example to example.
- Initial release.