Skip to content

Commit

Permalink
remove annoyng error in player
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrii Pyvovarov committed Aug 20, 2024
1 parent 48c37d3 commit bc99d19
Show file tree
Hide file tree
Showing 6 changed files with 125 additions and 72 deletions.
35 changes: 18 additions & 17 deletions lib/content/video/video_content_desktop_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ import 'package:window_manager/window_manager.dart';
class VideoContentDesktopView extends StatefulWidget {
final Player player;
final VideoController videoController;
final PlaylistController playlistController;
final PlayerController playerController;

const VideoContentDesktopView({
super.key,
required this.player,
required this.videoController,
required this.playlistController,
required this.playerController,
});

@override
Expand All @@ -36,13 +36,13 @@ class _VideoContentDesktopViewState extends State<VideoContentDesktopView> {
const SingleActivator(LogicalKeyboardKey.mediaPlayPause): () =>
widget.player.playOrPause(),
const SingleActivator(LogicalKeyboardKey.mediaTrackNext):
widget.playlistController.nextItem,
widget.playerController.nextItem,
const SingleActivator(LogicalKeyboardKey.bracketLeft):
widget.playlistController.prevItem,
widget.playerController.prevItem,
const SingleActivator(LogicalKeyboardKey.mediaTrackPrevious):
widget.playlistController.nextItem,
widget.playerController.nextItem,
const SingleActivator(LogicalKeyboardKey.bracketRight):
widget.playlistController.nextItem,
widget.playerController.nextItem,
const SingleActivator(LogicalKeyboardKey.space): () =>
widget.player.playOrPause(),
const SingleActivator(LogicalKeyboardKey.keyJ): () {
Expand Down Expand Up @@ -102,7 +102,7 @@ class _VideoContentDesktopViewState extends State<VideoContentDesktopView> {

MaterialDesktopVideoControlsThemeData _createThemeData(bool fullscrean) {
const marging = EdgeInsets.symmetric(horizontal: 20.0);
final playlistController = widget.playlistController;
final playerController = widget.playerController;

return MaterialDesktopVideoControlsThemeData(
buttonBarButtonColor: Colors.white,
Expand All @@ -112,21 +112,22 @@ class _VideoContentDesktopViewState extends State<VideoContentDesktopView> {
const ExitButton(),
const SizedBox(width: 8),
MediaTitle(
playlistSize: playlistController.mediaItems.length,
contentDetails: playlistController.contentDetails,
playlistSize: playerController.mediaItems.length,
contentDetails: playerController.contentDetails,
),
if (playlistController.mediaItems.length > 1)
PlayerErrorPopup(playerController: playerController),
if (playerController.mediaItems.length > 1)
PlayerPlaylistButton(
playlistController: playlistController,
contentDetails: playlistController.contentDetails,
playerController: playerController,
contentDetails: playerController.contentDetails,
)
],
bottomButtonBar: [
SkipPrevButton(contentDetails: playlistController.contentDetails),
SkipPrevButton(contentDetails: playerController.contentDetails),
const PlayOrPauseButton(),
SkipNextButton(
contentDetails: playlistController.contentDetails,
mediaItems: playlistController.mediaItems,
contentDetails: playerController.contentDetails,
mediaItems: playerController.mediaItems,
),
const MaterialDesktopVolumeButton(),
const MaterialDesktopPositionIndicator(),
Expand All @@ -137,8 +138,8 @@ class _VideoContentDesktopViewState extends State<VideoContentDesktopView> {
icon: const Icon(Symbols.pip),
),
SourceSelector(
mediaItems: playlistController.mediaItems,
contentDetails: playlistController.contentDetails,
mediaItems: playerController.mediaItems,
contentDetails: playerController.contentDetails,
),
const MaterialDesktopFullscreenButton(),
],
Expand Down
25 changes: 13 additions & 12 deletions lib/content/video/video_content_mobile_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ import 'package:media_kit_video/media_kit_video.dart';
class VideoContentMobileView extends StatefulWidget {
final Player player;
final VideoController videoController;
final PlaylistController playlistController;
final PlayerController playerController;

const VideoContentMobileView({
super.key,
required this.player,
required this.videoController,
required this.playlistController,
required this.playerController,
});

@override
Expand Down Expand Up @@ -53,28 +53,29 @@ class _VideoContentMobileViewState extends State<VideoContentMobileView> {
const ExitButton(),
const SizedBox(width: 8),
MediaTitle(
playlistSize: widget.playlistController.mediaItems.length,
contentDetails: widget.playlistController.contentDetails,
playlistSize: widget.playerController.mediaItems.length,
contentDetails: widget.playerController.contentDetails,
),
const Spacer(),
if (widget.playlistController.mediaItems.length > 1)
PlayerErrorPopup(playerController: widget.playerController),
if (widget.playerController.mediaItems.length > 1)
PlayerPlaylistButton(
playlistController: widget.playlistController,
contentDetails: widget.playlistController.contentDetails,
playerController: widget.playerController,
contentDetails: widget.playerController.contentDetails,
)
],
primaryButtonBar: [
const Spacer(flex: 2),
SkipPrevButton(
contentDetails: widget.playlistController.contentDetails,
contentDetails: widget.playerController.contentDetails,
iconSize: 36.0,
),
const Spacer(),
const MaterialPlayOrPauseButton(iconSize: 48.0),
const Spacer(),
SkipNextButton(
contentDetails: widget.playlistController.contentDetails,
mediaItems: widget.playlistController.mediaItems,
contentDetails: widget.playerController.contentDetails,
mediaItems: widget.playerController.mediaItems,
iconSize: 36.0,
),
const Spacer(flex: 2),
Expand All @@ -83,8 +84,8 @@ class _VideoContentMobileViewState extends State<VideoContentMobileView> {
const MaterialPositionIndicator(),
const Spacer(),
SourceSelector(
mediaItems: widget.playlistController.mediaItems,
contentDetails: widget.playlistController.contentDetails,
mediaItems: widget.playerController.mediaItems,
contentDetails: widget.playerController.contentDetails,
),
const MaterialFullscreenButton(),
],
Expand Down
33 changes: 17 additions & 16 deletions lib/content/video/video_content_tv_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ import 'package:media_kit_video/media_kit_video_controls/src/controls/methods/vi
class VideoContentTVView extends StatelessWidget {
final Player player;
final VideoController videoController;
final PlaylistController playlistController;
final PlayerController playerController;

const VideoContentTVView({
super.key,
required this.player,
required this.videoController,
required this.playlistController,
required this.playerController,
});

@override
Expand All @@ -35,7 +35,7 @@ class VideoContentTVView extends StatelessWidget {
Widget _renderControls(BuildContext context, VideoState state) {
return AndroidTVControls(
player: player,
playlistController: playlistController,
playerController: playerController,
);
}
}
Expand All @@ -46,11 +46,11 @@ class AndroidTVControls extends StatefulWidget {
const AndroidTVControls({
super.key,
required this.player,
required this.playlistController,
required this.playerController,
});

final Player player;
final PlaylistController playlistController;
final PlayerController playerController;

@override
State<AndroidTVControls> createState() => _AndroidTVControlsState();
Expand Down Expand Up @@ -203,8 +203,8 @@ class _AndroidTVControlsState extends State<AndroidTVControls> {
),
_AndroidTVBottomBar(
contentDetails:
widget.playlistController.contentDetails,
playlistController: widget.playlistController,
widget.playerController.contentDetails,
playerController: widget.playerController,
playPauseFocusNode: playPauseFocusNode,
)
],
Expand Down Expand Up @@ -267,10 +267,11 @@ class _AndroidTVControlsState extends State<AndroidTVControls> {
children: [
const SizedBox(width: 8),
MediaTitle(
contentDetails: widget.playlistController.contentDetails,
playlistSize: widget.playlistController.mediaItems.length,
contentDetails: widget.playerController.contentDetails,
playlistSize: widget.playerController.mediaItems.length,
),
const Spacer(),
PlayerErrorPopup(playerController: widget.playerController),
],
),
);
Expand Down Expand Up @@ -320,20 +321,20 @@ class _AndroidTVControlsState extends State<AndroidTVControls> {
class _AndroidTVBottomBar extends ConsumerWidget {
const _AndroidTVBottomBar({
required this.contentDetails,
required this.playlistController,
required this.playerController,
required this.playPauseFocusNode,
});

final ContentDetails contentDetails;
final PlaylistController playlistController;
final PlayerController playerController;
final FocusNode playPauseFocusNode;

@override
Widget build(BuildContext context, WidgetRef ref) {
final currentProgress = ref.watch(collectionItemProvider(contentDetails));

final isLastItem = currentProgress.valueOrNull?.currentItem !=
playlistController.mediaItems.length - 1;
playerController.mediaItems.length - 1;

return Container(
decoration: const BoxDecoration(
Expand Down Expand Up @@ -362,17 +363,17 @@ class _AndroidTVBottomBar extends ConsumerWidget {
),
SkipNextButton(
contentDetails: contentDetails,
mediaItems: playlistController.mediaItems,
mediaItems: playerController.mediaItems,
focusNode: isLastItem ? playPauseFocusNode : null,
),
const Spacer(),
SourceSelector(
mediaItems: playlistController.mediaItems,
mediaItems: playerController.mediaItems,
contentDetails: contentDetails,
),
if (playlistController.mediaItems.length > 1)
if (playerController.mediaItems.length > 1)
PlayerPlaylistButton(
playlistController: playlistController,
playerController: playerController,
contentDetails: contentDetails,
)
],
Expand Down
Loading

0 comments on commit bc99d19

Please sign in to comment.