diff --git a/packages/video_player/video_player/lib/video_player.dart b/packages/video_player/video_player/lib/video_player.dart index ac1645085e36..ef1a66a73b33 100644 --- a/packages/video_player/video_player/lib/video_player.dart +++ b/packages/video_player/video_player/lib/video_player.dart @@ -247,7 +247,8 @@ class VideoPlayerController extends ValueNotifier { /// Attempts to open the given [dataSource] and load metadata about the video. Future initialize() async { _lifeCycleObserver = _VideoAppLifeCycleObserver(this); - _lifeCycleObserver.initialize(); + if (videoPlayerOptions?.observeAppLifecycle) + _lifeCycleObserver.initialize(); _creatingCompleter = Completer(); DataSource dataSourceDescription; diff --git a/packages/video_player/video_player_platform_interface/lib/video_player_platform_interface.dart b/packages/video_player/video_player_platform_interface/lib/video_player_platform_interface.dart index 2757fb135af6..9fe653b07b1c 100644 --- a/packages/video_player/video_player_platform_interface/lib/video_player_platform_interface.dart +++ b/packages/video_player/video_player_platform_interface/lib/video_player_platform_interface.dart @@ -348,6 +348,12 @@ class VideoPlayerOptions { /// The default value is false final bool mixWithOthers; + /// Set this to true to let plugin manage play/pause with app lifecycle changes, + /// Set this to fase to keep playing video in background, when app goes in background + /// The default value is true + final bool observeAppLifecycle; + /// set additional optional player settings - VideoPlayerOptions({this.mixWithOthers = false}); + VideoPlayerOptions( + {this.mixWithOthers = false, this.observeAppLifecycle = true}); }