36 lines
936 B
Dart
36 lines
936 B
Dart
import 'package:chewie/chewie.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:video_player/video_player.dart';
|
|
|
|
class VideoPlayerWidget extends StatefulWidget {
|
|
final String url;
|
|
const VideoPlayerWidget({super.key, required this.url});
|
|
|
|
@override
|
|
State<VideoPlayerWidget> createState() => _VideoPlayerWidgetState();
|
|
}
|
|
|
|
class _VideoPlayerWidgetState extends State<VideoPlayerWidget> {
|
|
late final VideoPlayerController _controller =
|
|
VideoPlayerController.networkUrl(Uri.parse(widget.url));
|
|
late final ChewieController chewieController = ChewieController(
|
|
videoPlayerController: _controller,
|
|
autoPlay: false,
|
|
looping: true,
|
|
aspectRatio: 16 / 9);
|
|
|
|
@override
|
|
void dispose() {
|
|
_controller.dispose();
|
|
chewieController.dispose();
|
|
super.dispose();
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Chewie(
|
|
controller: chewieController,
|
|
);
|
|
}
|
|
}
|