use betterplayer instead of chewie
This commit is contained in:
@ -1,6 +1,5 @@
|
||||
import 'package:chewie/chewie.dart';
|
||||
import 'package:better_player/better_player.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:video_player/video_player.dart';
|
||||
|
||||
class VideoScreenMobile extends StatefulWidget {
|
||||
const VideoScreenMobile({Key? key, required this.url}) : super(key: key);
|
||||
@ -11,27 +10,28 @@ class VideoScreenMobile extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _VideoScreenMobileState extends State<VideoScreenMobile> {
|
||||
ChewieController? _chewieController;
|
||||
BetterPlayerController? _betterPlayerController;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (_chewieController == null) {
|
||||
if (_betterPlayerController == null) {
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: const [CircularProgressIndicator(), Text("loading...")],
|
||||
);
|
||||
} else {
|
||||
return BetterPlayer(
|
||||
controller: _betterPlayerController!,
|
||||
);
|
||||
}
|
||||
return Chewie(
|
||||
controller: _chewieController!,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_chewieController?.videoPlayerController.dispose();
|
||||
_chewieController?.dispose();
|
||||
_betterPlayerController?.videoPlayerController?.dispose();
|
||||
_betterPlayerController?.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
@ -41,18 +41,12 @@ class _VideoScreenMobileState extends State<VideoScreenMobile> {
|
||||
}
|
||||
|
||||
void _init() async {
|
||||
final VideoPlayerController _controller =
|
||||
VideoPlayerController.network(widget.url);
|
||||
await _controller.initialize();
|
||||
|
||||
_chewieController = ChewieController(
|
||||
videoPlayerController: _controller,
|
||||
autoPlay: true,
|
||||
looping: true,
|
||||
allowFullScreen: true,
|
||||
allowMuting: true,
|
||||
allowPlaybackSpeedChanging: true,
|
||||
zoomAndPan: true);
|
||||
BetterPlayerDataSource betterPlayerDataSource =
|
||||
BetterPlayerDataSource(BetterPlayerDataSourceType.network, widget.url);
|
||||
_betterPlayerController = BetterPlayerController(
|
||||
BetterPlayerConfiguration(
|
||||
autoPlay: true, looping: true, allowedScreenSleep: false),
|
||||
betterPlayerDataSource: betterPlayerDataSource);
|
||||
|
||||
setState(() {});
|
||||
}
|
||||
|
Reference in New Issue
Block a user