From 9fd5fc3d3b9e00ecef773f29b875169c77813901 Mon Sep 17 00:00:00 2001 From: Sicherhaven Date: Wed, 18 Mar 2026 16:43:40 +0530 Subject: [PATCH] fix: load login background video from local asset instead of network URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit VideoPlayerController.networkUrl(Uri.parse('assets/login-bg.mp4')) silently fails because 'assets/login-bg.mp4' is not a valid HTTP URL — the video never initializes and the login screen shows a plain black background. Fix: switch to VideoPlayerController.asset() and register the file in pubspec.yaml. The MP4 is gitignored (22 MB) and kept local for builds. --- .gitignore | 2 ++ lib/screens/login_screen.dart | 4 +--- pubspec.yaml | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 3ec4982..e7e09ce 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,5 @@ web/assets/login-bg.mp4 # Keystore files (signing keys) *.jks *.keystore +# large binary assets — keep local only, not tracked in git +assets/login-bg.mp4 diff --git a/lib/screens/login_screen.dart b/lib/screens/login_screen.dart index d89507e..d225dc4 100644 --- a/lib/screens/login_screen.dart +++ b/lib/screens/login_screen.dart @@ -47,9 +47,7 @@ class _LoginScreenState extends State { } Future _initVideo() async { - _videoController = VideoPlayerController.networkUrl( - Uri.parse('assets/login-bg.mp4'), - ); + _videoController = VideoPlayerController.asset('assets/login-bg.mp4'); await _videoController.initialize(); _videoController.setLooping(true); _videoController.setVolume(0); diff --git a/pubspec.yaml b/pubspec.yaml index 01b88ed..08a0bdd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,6 +34,7 @@ flutter: assets: - assets/images/ - assets/icon/hand_stop.svg + - assets/login-bg.mp4 fonts: - family: Gilroy fonts: