diff --git a/lib/widgets/chat_page/render_event.dart b/lib/widgets/chat_page/render_event.dart index fa249d6..d3702fc 100644 --- a/lib/widgets/chat_page/render_event.dart +++ b/lib/widgets/chat_page/render_event.dart @@ -238,6 +238,11 @@ class RenderEvent extends ConsumerWidget { :final info, ) => VideoPlayer(url, info), + // TODO: Support audio + // FileMessageContent( + // :final info, + // ) => + // VideoPlayer(url, info), ImageMessageContent(:final info) => ExpandableImage( url.toString(), child: ClipRRect( diff --git a/lib/widgets/players/video.dart b/lib/widgets/players/video.dart index 809ea22..5ba0e05 100644 --- a/lib/widgets/players/video.dart +++ b/lib/widgets/players/video.dart @@ -1,10 +1,10 @@ import "package:flutter/material.dart"; import "package:hooks_riverpod/hooks_riverpod.dart"; import "package:nexus/models/info/video.dart"; -// import "package:flutter_hooks/flutter_hooks.dart"; -// import "package:media_kit/media_kit.dart"; -// import "package:media_kit_video/media_kit_video.dart"; -// import "package:nexus/helpers/extensions/get_headers.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:media_kit/media_kit.dart"; +import "package:media_kit_video/media_kit_video.dart"; +import "package:nexus/helpers/extensions/get_headers.dart"; class VideoPlayer extends HookConsumerWidget { final VideoInfo? info; @@ -13,15 +13,17 @@ class VideoPlayer extends HookConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { - // final player = useMemoized(Player.new); - // final controller = useMemoized(() => VideoController(player), [player]); + late final player = useMemoized(Player.new); + late final controller = useMemoized(() => VideoController(player), [ + player, + ]); - // useEffect(() { - // player.open(Media(url.toString(), httpHeaders: ref.headers), play: false); + useEffect(() { + player.open(Media(url.toString(), httpHeaders: ref.headers), play: false); - // return player.dispose; - // }, []); + return player.dispose; + }, []); - return Placeholder(); + return SizedBox(height: 300, child: Video(controller: controller)); } }