native_video_player
A Flutter widget to play videos on iOS and Android using a native implementation.
4.0.1
11K downloads/mo
#2790 most downloaded on pub.dev
albemala/native_video_player
What this package is like to depend on
Last release 1 months ago
29 Jun 2026
Release timing varies
gaps range from 2 weeks to 1.1 years
Most releases are documented
notes for 12 of 15 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
20 releases · first in 2022
1 release in the last 12 months
see the full history below
Release timeline
20 releases · May 2022 to Jun 2026Releases
latest 20-
4.0.129 Jun 2026 -
4.0.023 May 2025Release notes
Open source → -
4.0.0-dev.106 May 2025 pre-release -
3.0.022 Mar 2025Release notes
Open source →This release is sponsored by:
Breaking Changes
-
Removed
PlaybackInfoclass - all information now accessible directly from controllerfinal duration = controller.videoInfo?.duration; final position = controller.playbackPosition; -
Controllers must now be explicitly disposed using
dispose()method@override void dispose() { _eventsSubscription?.cancel(); controller.dispose(); super.dispose(); } -
Removed
initconstructor fromVideoSourceclassawait controller.loadVideo( VideoSource( path: 'path/to/file', type: VideoSourceType.asset, ), ); -
seekToand playback position values now useDurationinstead of seconds (#26)controller.seekTo(Duration(seconds: 3)); -
Events-based API replaces callback system
_eventsSubscription = controller.events.listen((event) { switch (event) { case PlaybackStatusChangedEvent(): // Handle status change final playbackStatus = controller.playbackStatus; // Handle other events... } });
Major Changes
- Targeting Dart 3.5 and Flutter 3.24
- API redesign using events instead of callbacks
- Using ExoPlayer on Android
- Set Compile SDK to 35 on Android
Improvements
- Improved error reporting on Android
- Improved example
Bug Fixes
- Fixed audio playback on iOS when device is in silent mode (#22)
- Fixed memory leaks on iOS and Android
-
-
3.0.0-dev.426 Feb 2025 pre-release -
3.0.0-dev.316 Jan 2025 pre-release -
3.0.0-dev.214 Jan 2025 pre-release -
3.0.0-dev.103 Jan 2025 pre-releaseRelease notes
Open source →- Targeting Dart 3.5 and Flutter 3.24
- API redesign using events instead of callbacks
- Removed
PlaybackInfoclass - all information now accessible directly from controller - Controllers must now be explicitly disposed using
dispose()method - Removed
initconstructor fromVideoSourceclass seekToand playback position values now useDurationinstead of seconds (#26)- Fixed audio playback on iOS when device is in silent mode (#22)
-
2.0.027 Dec 2024Release notes
Open source →- Added support for sending optional headers to the native players to stream videos behind authentication (thanks to @shenlong-tanwen)
- Notify when video isn't playable on iOS (thanks to @ashilkn)
- Upgrading to Gradle 8 (thanks to @Pablo-Aldana)
- minSdkVersion on Android is now 21
- Upgraded dependencies
-
1.3.204 Dec 2024Nothing published for this version
-
1.3.119 Oct 2023 -
1.3.005 Jun 2023 -
1.2.0+310 Jan 2023Release notes
Open source →- BREAKING:
NativeVideoPlayerControllernow throws exceptions that must be handled by the caller. - Added new method to set playback speed
- Exposed more controller events (playback speed and volume changed)
- BREAKING:
-
1.1.001 Oct 2022 -
1.1.0+103 Oct 2022Nothing published for this version
-
1.1.0+203 Oct 2022 -
1.0.307 Jun 2022 -
1.0.207 Jun 2022 -
1.0.106 May 2022 -
1.0.005 May 2022Nothing published for this version