diff --git a/example/lib/app/app.dart b/example/lib/app/app.dart index e0c08b0b2..b4e5c88f3 100644 --- a/example/lib/app/app.dart +++ b/example/lib/app/app.dart @@ -114,6 +114,7 @@ class _ChewieDemoState extends State { videoPlayerController: _videoPlayerController1, autoPlay: true, looping: true, + // showSubtitle: true, progressIndicatorDelay: bufferDelay != null ? Duration(milliseconds: bufferDelay!) : null, diff --git a/lib/src/chewie_player.dart b/lib/src/chewie_player.dart index f4d4273ae..81373d72d 100644 --- a/lib/src/chewie_player.dart +++ b/lib/src/chewie_player.dart @@ -267,6 +267,7 @@ class ChewieController extends ChangeNotifier { this.zoomAndPan = false, this.maxScale = 2.5, this.subtitle, + this.showSubtitle = false, this.subtitleBuilder, this.customControls, this.errorBuilder, @@ -315,6 +316,7 @@ class ChewieController extends ChangeNotifier { bool? zoomAndPan, double? maxScale, Subtitles? subtitle, + bool? showSubtitle, Widget Function(BuildContext, dynamic)? subtitleBuilder, Widget? customControls, Widget Function(BuildContext, String)? errorBuilder, @@ -363,6 +365,7 @@ class ChewieController extends ChangeNotifier { additionalOptions: additionalOptions ?? this.additionalOptions, showControls: showControls ?? this.showControls, subtitle: subtitle ?? this.subtitle, + showSubtitle: showSubtitle ?? this.showSubtitle, subtitleBuilder: subtitleBuilder ?? this.subtitleBuilder, customControls: customControls ?? this.customControls, errorBuilder: errorBuilder ?? this.errorBuilder, @@ -424,6 +427,13 @@ class ChewieController extends ChangeNotifier { /// Add a List of Subtitles here in `Subtitles.subtitle` Subtitles? subtitle; + /// + /// Whether to display subtitles. + /// + /// By default, this is set to `false`, which hides them. + /// + final bool showSubtitle; + /// The controller for the video you want to play final VideoPlayerController videoPlayerController; diff --git a/lib/src/cupertino/cupertino_controls.dart b/lib/src/cupertino/cupertino_controls.dart index 7e16b38a1..17aba1e08 100644 --- a/lib/src/cupertino/cupertino_controls.dart +++ b/lib/src/cupertino/cupertino_controls.dart @@ -115,7 +115,9 @@ class _CupertinoControlsState extends State 0.0, notifier.hideStuff ? barHeight * 0.8 : 0.0, ), - child: _buildSubtitles(chewieController.subtitle!), + child: chewieController.showSubtitle + ? _buildSubtitles(chewieController.subtitle!) + : const SizedBox(), ), _buildBottomBar(backgroundColor, iconColor, barHeight), ], diff --git a/lib/src/material/material_controls.dart b/lib/src/material/material_controls.dart index 92be36fbe..6caf193d8 100644 --- a/lib/src/material/material_controls.dart +++ b/lib/src/material/material_controls.dart @@ -100,8 +100,9 @@ class _MaterialControlsState extends State 0.0, notifier.hideStuff ? barHeight * 0.8 : 0.0, ), - child: - _buildSubtitles(context, chewieController.subtitle!), + child: chewieController.showSubtitle + ? _buildSubtitles(context, chewieController.subtitle!) + : const SizedBox(), ), _buildBottomBar(context), ], diff --git a/lib/src/material/material_desktop_controls.dart b/lib/src/material/material_desktop_controls.dart index 404031653..479a9a58c 100644 --- a/lib/src/material/material_desktop_controls.dart +++ b/lib/src/material/material_desktop_controls.dart @@ -100,8 +100,9 @@ class _MaterialDesktopControlsState extends State 0.0, notifier.hideStuff ? barHeight * 0.8 : 0.0, ), - child: - _buildSubtitles(context, chewieController.subtitle!), + child: chewieController.showSubtitle + ? _buildSubtitles(context, chewieController.subtitle!) + : Container(), ), _buildBottomBar(context), ],